在Typescript文件中导入时未找到Vue模块
我有一个Vue项目,它使用单文件类组件和类型脚本加载程序。我使用VS代码和Vetur插件在单个文件.vue组件中完成了非常好的代码。除了在我的entry.ts文件中创建根Vue组件外,这一切正常: 在entry.ts中,我无法导入vue模块 索引 错误:找不到模块“”/components/app.vue app.vue 从.vue文件中,我可以导入其他.vue模块 我曾尝试省略.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扩展名添加到.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;
}