在typescript中导入.vue文件

lpwwtiir  于 2023-05-30  发布在  TypeScript
关注(0)|答案(2)|浏览(211)

我想用Typescript创建一个Vue 3项目。
我得到错误:“文件'/home/.../src/App.vue.ts'不是模块”
当在main.js中使用Javascript时,它工作正常,但当将其重命名为main.ts时,我无法导入“.vue”文件。
Main.ts:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';

createApp(App).use(router).mount('#app');

现在,当运行yarn serve时,输出显示:

ERROR in src/main.ts:2:17
TS2306: File '/home/.../src/App.vue.ts' is not a module.
    1 | import { createApp } from 'vue';
  > 2 | import App from './App.vue';
      |                 ^^^^^^^^^^^
    3 | import router from './router';

如何让Typescript理解.vue文件?

mrwjdhj3

mrwjdhj31#

原来我应该在我的App.vue文件中添加“export default {}”。
原始的(错误的)App.vue:

<template>
  <router-view></router-view>
</template>

<script lang="ts">
console.log('Loading App.vue');
</script>

我通过添加“导出默认值{};“.
新的App.vue:

<template>
  <router-view></router-view>
</template>

<script lang="ts">
console.log('Loading App.vue');

export default {}; // <-- added this line to fix the error
</script>
svdrlsy4

svdrlsy42#

app.vue必须是:

<script setup lang="ts">
<script>

或者是

<script lang="ts">
export default {};
</script>

相关问题