前言
最近摸鱼在看 webpack ,使用 webpack 搭建一个成熟的项目模板,eslint 是必不可少的一环,
eslint 在项目中常用的方式有两种:
- 不结合
webpack来使用,只用配置相应的npm scripts在代码提交的时候进行校验即可,这种方式在项目开发的时候,无法及时发现错误,在最终提交的时候进行格式校验和修改,可能会导致返工,当然,没有eslint的错误提示,可以快速开发,思路不容易被格式问题打断; - 结合
webpack来使用,简单配置如下:module.exports = { // ... module: { rules: [ { test: /.js$/, exclude: /node_modules/, loader: 'eslint-loader', options: { // eslint options (if necessary) }, }, ], }, // ... };
eslint-loader 被废弃了?
当我熟练的打开 eslint-loader 文档的时候,大大的一个红色提示引入眼帘,我知道大事不妙。
确实,
eslint-loader 即将被废弃。
eslint-webpack-plugin 没错,我就是那个接盘侠
不过,凭借我抠脚的 English ,那个啥,那个啥,使用 eslint-webpack-plugin ,打开 eslint-webpack-plugin 官网,发现这货下载量已经很高了。
原来已经有那么多人知道了,唉,那我走???。
eslint-webpack-plugin是个啥?
赶紧看看文档。
Before:
module.exports = {
// ...
module: {
rules: [
{
test: /.js$/,
exclude: /node_modules/,
loader: 'eslint-loader',
options: {
// eslint options (if necessary)
},
},
],
},
// ...
};
After:
const ESLintPlugin = require('eslint-webpack-plugin');
module.exports = {
// ...
plugins: [new ESLintPlugin(options)],
// ...
};
eslint-webpack-plugin 的 options 和 eslint-loader 基本一致,包括我们常常配合 eslint-loader 友好的显示错误的 formatter,eslint-friendly-formatter等。
欢迎讨论
为什么要废弃 eslint-webpack-plugin 呢?使用 loader 的方式不香吗?为啥要修改成使用 plugins 的方式呢?欢迎讨论。