前言:
最近遇到一个问题,就是vue项目在打包发布生产的时候报错了,错误提示:eslint.CLIEngine is not a constructor,然后就在网上搜索了一下,给出的答案都是关闭掉eslint,很明显,项目是需要使用eslint的,不是说你想关就可以关,很明显不行。
解决方案:
首先要明白selint.CLIengine是什么东西,根据错误提示很明显他是一个构造函数,但是打包的时候并没有这个构造器,so?
查看eslint官方文档,在@7.0.0版本以上,eslint开始使用了 new Eslint()构造函数,取消了 new
CLIengine()构造函数。因此问题就找到了,想要不报错,就采用@7.0.0以下版本。
我这边的解决方案是指定版本:
packages.json
"dependencies": {
"eslint": "^4.19.1"
}
这样jenkins打包时npm下载的就是有eslint.CLIengine的版本了