当我们在 webpack 中集成 eslint 和 babel 的时候,一般会采用如下的写法:

    1. module.exports = {
    2. // ...
    3. module: {
    4. rules: [
    5. {
    6. test: /\.js$/,
    7. exclude: /node_modules/,
    8. use: ['babel-loader', 'eslint-loader']
    9. }
    10. ]
    11. }
    12. // ...
    13. }

    这种写法需要注意 use 中的执行顺序是从右往左,一旦写反了,eslint 就会校验 babel 转换后的代码。
    如果你对 use 的执行顺序不清楚,可以采用下面的写法:

    1. module.exports = {
    2. // ...
    3. module: {
    4. rules: [
    5. {
    6. enforce: 'pre',
    7. test: /\.js$/,
    8. exclude: /node_modules/,
    9. loader: 'eslint-loader'
    10. },
    11. {
    12. test: /\.js$/,
    13. exclude: /node_modules/,
    14. loader: 'babel-loader'
    15. }
    16. ]
    17. }
    18. // ...
    19. }