问题
前端项目提交测试后,测试同事反馈在Jenkins
上点击构建之后,项目等待一会儿后,报错了,无法构建成功
查看打包日志
在Jenkins
上查看控制台输出看到,项目安装依赖包(npm i
)没问题,但是npm run build
打包后报错,报错如下
ERROR in ./node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/loader.js?{"omit":1,"remove":true}!./node_modules/_vue-style-loader@3.1.2@vue-style-loader!./node_modules/_css-loader@0.28.11@css-loader?{"sourceMap":false}!./node_modules/_vue-loader@13.7.3@vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-9c62c202","scoped":false,"hasInlineConfig":false}!./node_modules/_less-loader@4.1.0@less-loader/dist/cjs.js?{"sourceMap":false}!./node_modules/_vue-loader@13.7.3@vue-loader/lib/selector.js?type=styles&index=0!./src/components/iwen/ueditor.vue
Module build failed: ModuleBuildError: Module build failed:
Class constructor FileManager cannot be invoked without 'new'
in undefined (line undefined, column undefined)
查找问题
- 1、本地打包,正常,没有出现此错误
- 2、测试服务打包,此错误出现
- 3、查看
Jenkins
打包脚本,发现Jenkins
打包前会删除node_modules
重新安装所有的依赖包,查看测试服安装的node_modules
中的包,发现确实有部分包与本地的不一样 - 4、在本地删除
node_modules
目录之后,重新运行npm install && npm run build
,错误复现
多方查找发现此问题跟less
有关系,测试服安装的less
版本为3.10.1
https://github.com/less/less.js/issues/3414
锁定问题
less
最新版本3.10.1
打包时报错,最新版本的less有问题。
锁定less版本解决问题
//改之前
"jquery": "^3.4.1",
"less": "^3.8.1",
"less-loader": "^4.1.0",
//改之后
"jquery": "^3.4.1",
"less": "~3.8.1",
"less-loader": "^4.1.0",
网友评论