Webpack笔记(四):eslint

本文介绍了如何在JavaScript项目中使用ESLint进行代码检查,包括安装必要的依赖、配置Airbnb风格规范、排除node_modules检查,并演示了如何启用自动修复功能和处理console.log警告。
摘要由CSDN通过智能技术生成

1、js语法检查eslint

eslint是撰写JS的一个规范,它会检查你的js代码有没有格式错误或者语法错误,使你的js代码更加规范化

eslint的使用需要eslint-loader和一个eslint的库

推荐使用爱彼迎的代码检查风格

下载一些必要的东西

npm i eslint-loader eslint eslint-config-airbnb-base eslint-plugin-import -D

下载完之后,我们需要在package.json中新增一个"eslintConfig"对象,配置如下
在这里插入图片描述
eslint的整体配置

'use strict';


const HtmlWebpackPlugin = require('html-webpack-plugin');

const { resolve } = require('path');
//设置nodejs环境变量
process.env.NODE_ENV = "developement"

module.exports = {
  entry: './src/js/index.js',
  output: {
    filename: 'js/bundle.js',
    path: resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      //语法检查:eslint-loader eslint
        //注意:只检查自己写的源代码,第三方的库是不检查的
        //设置检查规则:package.json中eslintConfig中设置
        //我们推荐使用爱彼迎的代码检查风格
        //airbnb-->下载eslint-config-airbnb-base、eslint、eslint-plugin-import
      {
        //检查自己写的js文件
        test:/.\js$/,
        //排除对node_modules的检查
        exclude:/node_modules/,
        loader:'eslint-loader',
        options:{}
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    }),

  ],
  mode: 'development'
}


然后运行 npm run build,之后就会报一系列的红
在这里插入图片描述
如果想要自动修复,我们可以在loader的options中设置fix:true

		options:{
          //自动修复eslint的错误
          fix:true
      }

整体的eslint配置

'use strict';


const HtmlWebpackPlugin = require('html-webpack-plugin');

const { resolve } = require('path');
//设置nodejs环境变量
process.env.NODE_ENV = "developement"

module.exports = {
  entry: './src/js/index.js',
  output: {
    filename: 'js/bundle.js',
    path: resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      //语法检查:eslint-loader eslint
        //注意:只检查自己写的源代码,第三方的库是不检查的
        //设置检查规则:package.json中eslintConfig中设置
        //我们推荐使用爱彼迎的代码检查风格
        //airbnb-->下载eslint-config-airbnb-base、eslint、eslint-plugin-import
      {
        //检查自己写的js文件
        test:/.\js$/,
        //排除对node_modules的检查
        exclude:/node_modules/,
        loader:'eslint-loader',
        options:{
          //自动修复eslint的错误
          fix:true
        }
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    }),

  ],
  mode: 'development'
}


然后再次打包,错误就少了很多啦

在这里插入图片描述
但是这里仍然报了一个警告,说我们不能用console.log(),我们开发调试用没关系,但是代码要上线了,这就非常不好。如果我们想要调试,但是又想忽略这条规则,就可以就加一行代码

//eslint-disable-next-line
下一行eslint所有的规则都失效(下一行不进行eslint的检查)

在入口文件里标明
在这里插入图片描述
再次打包,就没有警告啦
在这里插入图片描述
说实话,看的我有点懵了

尚硅谷webpack5第16集一直报错,可能是版本问题

当一个文件要被多个loader处理,那么一定要指定loader执行的先后顺序,先执行eslint,再执行babel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值