Typescript 抱怨Vue组件类型为“的网页”;任何;

Typescript 抱怨Vue组件类型为“的网页”;任何;,typescript,vue.js,webpack,vuejs3,Typescript,Vue.js,Webpack,Vuejs3,使用ts 4.2.4和Vue3,在构建我的vue项目时,我遇到了一个奇怪的错误: >管理员。pacc@0.1.0建造 >vue cli服务生成 ⠋ 为生产而建。。。 编译失败,错误为1,错误为17:36:51 src/layout/Main.vue:52:20中出错 TS7016:找不到模块“/Footer.vue”的声明文件/Users/ddruganov/VSCodeProjects/admin.pacc/src/layout/Footer.vue.js'隐式具有“any”类型。 50 |

使用ts 4.2.4和Vue3,在构建我的vue项目时,我遇到了一个奇怪的错误:

>管理员。pacc@0.1.0建造
>vue cli服务生成
⠋  为生产而建。。。
编译失败,错误为1,错误为17:36:51
src/layout/Main.vue:52:20中出错
TS7016:找不到模块“/Footer.vue”的声明文件/Users/ddruganov/VSCodeProjects/admin.pacc/src/layout/Footer.vue.js'隐式具有“any”类型。
50 | 
51 |从“/Topbar.vue”导入Topbar;
>52 |从“/Footer.vue”导入页脚;
|                    ^^^^^^^^^^^^^^
53 |从“/Sidebar.vue”导入侧边栏;
54 |
55 |从“@/store/modules/activity.store”导入{activityStore,加载{u ACTIVITIES}”;
错误生成失败,出现错误。
npm错误!代码1
npm错误!path/Users/ddruganov/VSCodeProjects/admin.pacc
npm错误!命令失败
npm错误!命令sh-c vue cli服务生成
npm错误!此运行的完整日志可在以下位置找到:
npm错误/Users/ddruganov/.npm/_logs/2021-05-08T14_36_51_736Z-debug.log
Typescript抱怨我的页脚是any类型,而没有抱怨任何其他.vue组件
由于某些原因,VSCode无法将此识别为错误:
您可以看到,页脚没有扭曲的形状
页脚代码:


{{fullYear}}pAcc
从“Vue类组件”导入{Vue};
导出默认类FooterComponent扩展Vue{
整年{
返回新日期().getFullYear();
}
}
我的Timmes-vue.d.ts文件如下所示:

/*eslint禁用*/
声明模块'*.vue'{
从“vue”导入类型{DefineComponent}
常量组件:定义组件
导出默认组件
}
垫片-vue.d.ts

声明模块'*.vue'{
从“vue”导入{ComponentOptions}
常量组件:组件选项
导出默认组件
}

@tony19注意到我的代码中有一个输入错误:


另外,Footer.vue中似乎有一个输入错误(land=ts应该是lang=ts)。这只是问题中的一个输入错误吗


事实上,它必须是
lang=“ts”
,问题已经解决,项目现在编译

在页脚中,您从
vue类组件导入了vue fn
,但有一个组件装饰器需要从该包导入。代码:
import Vue from'Vue'import Component from'Vue class Component'//在class style@Component export default class FooterComponent中定义组件扩展Vue{get fullYear(){return new Date().getFullYear();}
希望有此帮助!FWIW,我无法使用Vue 3和TS 4.2.4在新的Vue CLI框架项目中重现生成错误。此外,似乎您在
Footer.Vue
中有输入错误(
land=TS
应该是
lang=TS
)。这只是问题中的一个输入错误吗?@tony19天哪!这正是导致它的错误。这确实是我的代码类型,非常感谢!!!我把你的答案贴成accepted@GolamrabbiAzad问题是,在所有其他组件中,我从不使用“@Component”decorator,一切都很好。官方vue3 cli创建的应用程序包含Shimmes-vue.d.ts,其中包含我上面列出的代码,将DefineComponent替换为ComponentOptions不会有帮助