Typescript vue3类型脚本问题,如何修复ts(2305)错误?

Typescript vue3类型脚本问题,如何修复ts(2305)错误?,typescript,vue.js,vuejs3,Typescript,Vue.js,Vuejs3,声明模块'*.vue'{ 从“vue”//module“./node_modules/vue/dist/vue”导入类型{DefineComponent}没有导出成员“DefineComponent”。ts(2305) 常量组件:定义组件 导出默认组件 } 声明模块“@vue/runtime core”{ 导出接口组件CustomProperties{ $goto:有吗 } } 为什么会有这样的错误报告?我不清楚,如何修复它?定义组件应该如下声明 import { defineComponen

声明模块'*.vue'{
从“vue”//module“./node_modules/vue/dist/vue”导入类型{DefineComponent}没有导出成员“DefineComponent”。ts(2305)
常量组件:定义组件
导出默认组件
}
声明模块“@vue/runtime core”{
导出接口组件CustomProperties{
$goto:有吗
}
}

为什么会有这样的错误报告?我不清楚,如何修复它?

定义组件应该如下声明

import { defineComponent } from 'vue'

const Component = defineComponent({
  // type inference enabled
})

更多

全局声明模块将覆盖原始声明,因此模块“@vue/runtime core”将被覆盖,而“vue”依赖于“@vue/…”,从而导致此类错误

正确的方法是将“declare module'@vue/runtime core'”放在不同的
.d.ts
文件中

您必须将新声明放入main.ts文件中

@岑泰-

似乎仅当declare语句放在
ts
文件(而不是
.d.ts
文件)中时才起作用。e、 g

src/shim vue.d.ts

声明模块'*.vue'{
从“vue”导入类型{DefineComponent}
常量组件:定义组件
导出默认组件
}
src/main.ts

从“vue”导入{createApp}
从“./App.vue”导入应用程序
createApp(App).mount(“#App”)
//将其放在此处或任何其他“.ts”文件都有效
声明模块“@vue/runtime core”{
导出接口组件CustomProperties{
$goto:有吗
}
}
来自Vue文档 有关这方面的信息也会添加到Vue的文档中

见:(加入)

确保声明文件是TypeScript模块 为了利用模块扩展,您需要确保文件中至少有一个顶级
导入
导出
,即使它只是
导出{}

,任何包含顶级
导入
导出
的文件都被视为“模块”。如果类型声明是在模块外部进行的,它将覆盖原始类型,而不是扩充它们