背景:
webstorm2019.1编辑器,导入一个新项目,里面的package.json已经写好了,直接npm install 安装node_module包。然后问题来了。。。
问题描述:
问题1:安装完node_module之后,项目的eslint并不起作用,不能进行语法检查和自动修复;看到编辑器提示eslint:this.cliEnigne is not a XXXX
问题2:安装了eslint,校验规则却不是自己想要的。。。。比如:强制将所有html标签修改为驼峰写法,<el-button> 改成<ElButton>看着很别扭。。。
解决办法:
问题1的解决办法:
webstorm的版本和eslint版本不对应,我在项目里将eslint降低了个版本。
npm uninstall eslint // 卸载eslint
npm install eslint@5.8.0 --save-dev //安装低版本的eslint
注意: 记得安装在devDependencies下,这个下面的东西都不会打包到生产环境,命令 npm install xxx --save-dev 我就是安装的时候没加dev,安装在了dependencies下面,导致安装不上去或安装上去引发其他的错误等问题。
问题2的解决办法:
尝试了很多种方式,还改写了eslintrc.js规则,在rules里面加了关于驼峰的规则,但都没起作用,不知道为啥子。。。。。
最终,我对照之前的项目,将关于eslint包的版本都换成一样的,问题解决!
换了这两个包
npm install eslint@5.16.0 --save-dev
npm install eslint-plugin-vue@5.2.3 --save-dev
小知识:
你真的理解devDependencies和dependencies区别吗?
devDependencies
用于本地环境开发dependencies
用户发布环境
devDependencies是只会在开发环境下依赖的模块,生产环境不会被打入包内。通过NODE_ENV=developement或NODE_ENV=production指定开发还是生产环境。
而dependencies依赖的包不仅开发环境能使用,生产环境也能使用。其实这句话是重点,按照这个观念很容易决定安装模块时是使用--save还是--save-dev。