После изменения моего App.vue
на использование машинописного текста теперь я получаю ошибку компилятора:
[tsl] ОШИБКА в \ src \ main.ts (2,23) TS2304: Не удается найти имя 'exports '.
И если я позволю vue-serve перекомпилировать изменения, я получу ту же ошибку снова, но также и в App.vue
:
[tsl] ERROR вsrc \ main.ts (2,23) TS2304: не удается найти имя «экспорт».
[tsl] ОШИБКА в src \ App.vue.ts (2,23) TS2304: не удается найти имя «экспорт».
[tsl] ОШИБКА в src \ App.vue.ts (13,1) TS2304: Не удается найти имя «export».
Простой пример машинописного vue-приложения, созданного с помощьюVueCli3:
main.ts
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from '@/store'
new Vue({
router,
store,
components: { App } //Removed render: h=> h() since it was throwing "any type" TS error. "Exports" error would throw either way.
}).$mount('#app')
App.vue
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import Component from "vue-class-component";
@Component
export default class App extends Vue {
}
</script>
Почему это происходит?Это приложение vue-cli по умолчанию, за исключением того, что App.vue
был изменен для использования машинописи.
Существуют все соответствующие фрагменты веб-набора (я боролся с этим уже 2 недели), так как он отлично работает с другими файлами машинописного текста (например, с использованием маршрутизатора компонентов) и файлами машинописного текста vue, покаApp.vue
использует машинописный текст, или любой модуль, который импортирует App.vue
, использует машинописный текст.
Иногда он компилируется просто отлично, и вместо этого ошибка появляется в консоли ReferenceError: exports is not defined
.Я не могу надежно воспроизвести одно или другое, иногда выдает ошибку компилятора, иногда выдает ошибку ссылки во время выполнения.