前言
提示:本页面解决方法慎重参考,本人是在自己公司的项目发现的build问题,不代表所有项目都有这个问题,请明确后再参考
提示:以下是本篇文章正文内容,下面案例可供参考
一、项目打包
基本的md配置,本项目使用的是yarn管理工具。
本地安装依赖正常,打包正常
二、Jenkins自动化部署
1.配置编译打包命令
正常按照本地打包命令执行:yarn、yarn build:dev dev是自己配置的项,本项目出现以下报错
报错(示例):
大家一看很明显是TS检测出现的问题,但是怎么处理就成了问题
2.参考文献
第一情况肯定是参考网上大神的案例,直接搜
1、为什么我在 tsconfig.json 中已经 exclude node_modules了,tsc 还是执行到 node_modules 里面去了?
2、TypeScript 踩坑之旅
3、tsconfig.json官方文档
但是看完之后借鉴并没有什么卵用(对自己项目哈),然后又是报错的搜索,查了半天大部分开发者都提到了TS版本的问题,然后自己就升级Jenkins的@node/type的版本,发现还是一样的错误,头大。
3.最终解决
最终问题定位到了一个地方:就是查看本地的依赖配置和Jenkins的依赖有出入、有区别,如下所示
重点看这里
找到了问题就知道怎么去解决了:
发现配置文件package.json 的tslint是"tslint": “*“和”@types/node”: “^8.0.7”
问题就是出现在这里,本地安装依赖取的是低版本的,而线上的Jenkins是最新的,是因为你写了 *和^导致线上会安装新的情况(具体也不明白,小白)
本地打包没问题的话,所以直接指定版本就好了,把tslint:5.11.0和@types/node:“8.0.7”,指定版本和去掉^就好了,直接提交代码,再次打包——>成功!
总结
第一次搞自动化配置打包接手项目,存在了解不足和不明白的地方(自己也是小白),报错出现不可怕,找不到问题解决最可怕,本人也是很长时间解决的,所以还是一起努力吧,多点经验就能快速解决,如果你也遇到同样的问题,不要慌,慢慢来,多查资料多思考,肯定能解决的!奋斗吧,奥力给!