eslint-loader即将被废弃,谁来接盘?

3,867 阅读1分钟

前言

最近摸鱼在看 webpack ,使用 webpack 搭建一个成熟的项目模板,eslint 是必不可少的一环, eslint 在项目中常用的方式有两种:

  1. 不结合 webpack 来使用,只用配置相应的 npm scripts 在代码提交的时候进行校验即可,这种方式在项目开发的时候,无法及时发现错误,在最终提交的时候进行格式校验和修改,可能会导致返工,当然,没有 eslint 的错误提示,可以快速开发,思路不容易被格式问题打断;
  2. 结合 webpack 来使用,简单配置如下:
    module.exports = {
      // ...
      module: {
        rules: [
          {
            test/.js$/,
            exclude/node_modules/,
            loader'eslint-loader',
            options: {
              // eslint options (if necessary)
            },
          },
        ],
      },
      // ...
    };
    

eslint-loader 被废弃了?

当我熟练的打开 eslint-loader 文档的时候,大大的一个红色提示引入眼帘,我知道大事不妙。 image.png 确实,eslint-loader 即将被废弃。

eslint-webpack-plugin 没错,我就是那个接盘侠

不过,凭借我抠脚的 English ,那个啥,那个啥,使用 eslint-webpack-plugin ,打开 eslint-webpack-plugin 官网,发现这货下载量已经很高了。

image.png 原来已经有那么多人知道了,唉,那我走???。

image.png

eslint-webpack-plugin是个啥?

赶紧看看文档。

image.png

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-pluginoptionseslint-loader 基本一致,包括我们常常配合 eslint-loader 友好的显示错误的 formattereslint-friendly-formatter等。

欢迎讨论

为什么要废弃 eslint-webpack-plugin 呢?使用 loader 的方式不香吗?为啥要修改成使用 plugins 的方式呢?欢迎讨论。

参考文档

  1. www.npmjs.com/package/esl…
  2. www.npmjs.com/package/esl…
  3. www.npmjs.com/package/esl…