vue3+ts+vite 打包报错 TS2304: Cannot find name ‘xxx‘

文章讲述了在将Vue项目升级到使用TypeScript的组合式API并结合ElementUI时遇到的编译错误,介绍了两种解决方法:一是删除`vue-tsc--noEmit`,仅进行类型检查;二是设置`tsconfig.json`的`skipLibCheck`为true,但需注意可能带来的类型检查不全风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

都说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编译器将跳过对库文件的类型检查,从而加快编译速度。然而,这也可能会导致在使用库文件时出现类型错误,因为编译器不再检查库文件的类型信息。因此,应该谨慎使用这个选项,特别是在引入的库文件中存在类型不确定或不完整的情况下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值