我有一个使用单个文件类组件和打字稿加载器的Vue项目。我使用VS Code与Vetur插件在单个文件.vue组件中获得非常好的代码完成。这工作正常,除了我的entry.ts文件,我在其中创建根Vue组件:
在entry.ts中,我无法导入vue模块!
index.ts
import Vue from 'vue' // this is ok
import App from './components/app.vue' // vue file not found!
new App({el : '#app'})
ERROR Cannot find module './components/app.vue
app.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>
从.vue
文件中,可以导入其他.vue
个模块。
我尝试省略.vue
扩展程序,但结果相同。
我尝试将.vue
扩展名添加到.d.ts
文件中,但这会混淆Vetur插件,并解决问题(模块只能从.ts文件中运行,而不能从.vue文件中运行)
答案 0 :(得分:0)
Hi Typescript会给你错误,因为它不知道.vue文件是什么。
但是有一个解决方法。
在项目目录中,您可以添加名为vue-shims.d.ts
里面放了以下代码:
declare module "*.vue" {
import Vue from "vue";
export default Vue;
}
现在打字稿会理解.vue文件。