在打字稿中导入 .vue 文件

Hen*_*Jan 0 typescript vuejs3 vue-sfc

我正在尝试使用 Typescript 设置 Vue3 项目。
我收到错误:“文件 '/home/.../src/App.vue.ts' 不是模块”

在 中使用 Javascript 时main.js,它工作正常,但是当将其重命名为 时main.ts,我无法导入“.vue”文件。
主要.ts:

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

createApp(App).use(router).mount('#app');
Run Code Online (Sandbox Code Playgroud)

现在,运行时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';
Run Code Online (Sandbox Code Playgroud)

让 Typescript 理解文件的方法是什么.vue

Hen*_*Jan 5

事实证明,我应该将“export default {}”添加到我的App.vue文件中。

原始(有缺陷的)App.vue:

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

<script lang="ts">
console.log('Loading App.vue');
</script>
Run Code Online (Sandbox Code Playgroud)

我通过添加“export default {};”修复了该错误。
新的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>
Run Code Online (Sandbox Code Playgroud)