Vue和TypeScript:找不到名称“导出”

时间:2019-03-01 01:41:49

标签: typescript vue.js webkit

App.vue更改为使用打字稿后,我现在得到了编译器错误:

  

[tsl] \ src \ main.ts(2,23)中的错误         TS2304:找不到名称“出口”。

如果我让vue-serv从更改中重新编译,我会再次遇到相同的错误,但也会在App.vue中出现:

  

[tsl] src \ main.ts(2,23)中的错误         TS2304:找不到名称“出口”。

     src \ App.vue.ts(2,23)中的

[tsl]错误         TS2304:找不到名称“出口”。

     src \ App.vue.ts(13,1)中的

[tsl]错误         TS2304:找不到名称“出口”。

使用VueCli3创建的简单示例打字稿vue App:

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已更改为使用打字稿。

存在所有适当的Webkit片段(我已经为此苦苦挣扎了2个星期),因为它可以与其他打字稿文件(例如和组件路由器使用)和Vue打字稿文件完全兼容,直到{{1 }}使用打字稿,或者App.vue导入的任何模块都使用打字稿。

有时它可以很好地编译,并且错误显示在控制台App.vue中。我无法可靠地重现一个或另一个,有时会抛出编译器错误,有时会在运行时抛出引用错误。

1 个答案:

答案 0 :(得分:0)

我过去也有类似的问题。

可以尝试像

那样导入
import Vue from 'vue'
import App from './App.vue'
import * as router from './router'
import * as store from '@/store'
  • 就像在ES6上导入的方式一样