在Typescript文件中导入时未找到Vue模块

在Typescript文件中导入时未找到Vue模块,typescript,vue.js,Typescript,Vue.js,我有一个Vue项目,它使用单文件类组件和类型脚本加载程序。我使用VS代码和Vetur插件在单个文件.vue组件中完成了非常好的代码。除了在我的entry.ts文件中创建根Vue组件外,这一切正常: 在entry.ts中,我无法导入vue模块 索引 错误:找不到模块“”/components/app.vue app.vue 从.vue文件中,我可以导入其他.vue模块 我曾尝试省略.vue扩展名,但结果相同 我曾尝试将.vue扩展名添加到.d.ts文件中,但这打乱了Vetur插件,并逆转了问题模块

我有一个Vue项目,它使用单文件类组件和类型脚本加载程序。我使用VS代码和Vetur插件在单个文件.vue组件中完成了非常好的代码。除了在我的entry.ts文件中创建根Vue组件外,这一切正常:

在entry.ts中,我无法导入vue模块

索引

错误:找不到模块“”/components/app.vue

app.vue

从.vue文件中,我可以导入其他.vue模块

我曾尝试省略.vue扩展名,但结果相同


我曾尝试将.vue扩展名添加到.d.ts文件中,但这打乱了Vetur插件,并逆转了问题模块仅在.ts文件中工作,而不在.vue文件中工作的情况。Hi Typescript会给出该错误,因为它不知道.vue文件是什么

但是有一个解决办法

在项目目录中,可以添加一个名为vue-d.ts的文件

将以下代码放入其中:

declare module "*.vue" {
  import Vue from "vue";
  export default Vue;
}

现在typescript将理解.vue文件。

谢谢,但该.d.ts文件会导致处理.vue文件所需的Vetur插件出现故障。在我添加类型定义文件后,intellisense变得非常容易出错,在Vetur中无法再识别模块路径。即使这样,它也无法工作,甚至无法在中导入非ts.vue文件。而且它是选择性的,有些文件有效,有些则无效。
<script lang="ts">
    import Vue from 'vue'                       // this is ok
    import Card from "./card.vue"               // here it works!

    export default class App extends Vue {
    }
</script>
declare module "*.vue" {
  import Vue from "vue";
  export default Vue;
}