当前位置: 首页 > news >正文

vue+tsc+noEmit导致打包报TS类型错误问题及解决方法

项目场景:

提示:这里简述项目相关背景:

当我们新建vue3项目,package.json文件会自动给我添加一些配置选项,这写选项基本没有问题,但是在实际操作过程中,当项目越来越复杂就会出现问题,本文给大家分享vue+tsc+noEmit导致打包报TS类型错误问题及解决方法


问题描述

提示:这里描述项目中遇到的问题:

当我们新建vue3项目,package.json文件会自动给我添加一些配置选项,这写选项基本没有问题,但是在实际操作过程中,当项目越来越复杂就会出现问题。本文列举一个目前我遇到的一个问题:打包后报了一堆TS类型错误,怎么消除这些错误?

原因分析:

提示:这里填写问题的分析:

打包执行的是npm run build命令,那么具体执行了什么呢?我们查看package.json中配置项。

可以发现在build时,执行了vue-tsc --noEmit && vite build,其中

  • vue-tsc:Vue 官方提供的命令,用于执行 TS 的类型检查。它在执行时会根据项目中的 tsconfig.json 文件配置进行类型检查
  • --noEmit:TS 编译器的选项,使用 --noEmit 选项后,编译器仅执行类型检查,而不会生成任何实际的编译输出

所以可以看出了,在打包的时候编译器执行了TS类型检查,所以才报了一堆错,类型错误最终不会影响项目的正常运行


解决方案:

提示:这里填写该问题的具体解决方案:

根据上面分析,package.json中的"scripts"修改如下:

另外项目通常在编译时候,也会对我们引入的一些依赖包进行类型校验,我们并不需要这个操作,所以可以在tsconfig.json中设置如下:

"compilerOptions":{"skipLibCheck":true
},

设置后编译器不会检查库文件中的类型定义是否正确,也不会对库文件的使用进行类型检查。

再次打包就非常顺利~

相关文章:

  • 【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
  • Redis面试 实战贴 后面持续更新链接
  • Linux系统之shell脚本基础:条件测试、正整数字符串比较与if、case语句
  • C# Winforms 本地化 多语言支持 字符串资源
  • 如何管理两个Git账户
  • Android第六次面试总结之Java设计模式篇(一)
  • 使用VMware Workstation pro 17.5.1在Windows上安装Ubuntu 24.04.2的 详细步骤
  • 结合Hutool 突增突降检测的算法
  • javascript Map 和对象使用
  • 安卓基础(点击按钮动态添加视图到容器)
  • 单片机-STM32部分:5、STM32CubeMX实现HAL点灯
  • Leetcode Hot 100字母异位词分词
  • Vue 项目中使用 EJS 模板动态注入环境变量
  • 哪些岗位需要考取城市客运安全员证?
  • SCINet 训练代码修改
  • cmake qt 项目编译(win)
  • npm下载插件无法更新package.json和package-lock.json文件的解决办法
  • clickhouse - 重新建表覆盖旧表-解决分区时间错误问题-197001
  • AI内容检测的技术优势与应用场景
  • Java注解
  • 李云泽:小微企业融资协调工作机制已发放贷款12.6万亿元
  • 李翔宁:城市的每个人都参与了上海的建造,这一过程还在持续
  • 强沙尘暴压城近万名游客被困,敦煌如何用3小时跑赢12级狂风?
  • 杨德龙:取得长期投资胜利法宝,是像巴菲特一样践行价值投资
  • 人民日报和音:引领新时代中俄关系坚毅前行
  • 国防部新闻发言人就日本民用飞机侵闯中国钓鱼岛领空答记者问