vue3+ts+vite 打包报错 TS2304: Cannot find name ‘xxx‘
都说vue组合式api好,那必须来一套试试,而且element ui的demo全是lang="ts"了
改成组合式api没问题,但是当加上lang="ts"之后就疯狂报错
src/components/table/tableshow.vue:7:28 - error TS2304: Cannot find name 'tempshow'.
src/components/table/tableshow.vue:8:29 - error TS2304: Cannot find name 'searchtemplate'.
但是npm run dev 是运行正常的
经过一番搜索之后,这个错误是比较难搜索到的
方法一:
注意看package.json 中的vue-tsc --noEmit 删掉就可以了
{
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit && vite build"
}
}
修改后如下:
{
"scripts": {
"dev": "vite",
"build": "vite build"
}
}
搜一下vue-tsc --noEmit 是干什么的
执行tsc --noEmit,TSC 会读取配置文件获取参数值,--noEmit的作用是只进行检查,不进行编译输出。如果我们的代码无错,会直接退出,否则报错。
方法二:
在tsconfig.json文件中"compilerOptions"选项下加入 “skipLibCheck”: true
在tsconfig.json文件中的"compilerOptions"选项下加入 "skipLibCheck": true 会禁用对引入的库文件的类型检查。这意味着TypeScript编译器将跳过对库文件的类型检查,从而加快编译速度。然而,这也可能会导致在使用库文件时出现类型错误,因为编译器不再检查库文件的类型信息。因此,应该谨慎使用这个选项,特别是在引入的库文件中存在类型不确定或不完整的情况下。