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

你可能感兴趣的:(开发DEMO,vue3.2,typescript,vue.js,前端,javascript)