码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Webpack干货系列 | 在 Webpack 5 集成 ESLint 的方法


    程序员优雅哥(youyacoder)简介:十年程序员,呆过央企外企私企,做过前端后端架构。分享vue、Java等前后端技术和架构。
    本文摘要:主要讲解运用Webpack 5 中集成 ESLint 的方法与步骤

    ESLint 是前端 JS 代码检查常用的工具,使用 ESLint 可以使不同的开发人员遵循统一的开发规范、有统一的代码风格。关于 ESLint 的详细介绍,参考《ESLint是什么》一文。本文详细介绍如何在 webpack 5 中集成 ESLint。

    1 安装依赖

    在 webpack 4 中,ESLint 是通过 loader 的方式集成到 webpack 中的。在 webpack 5 中,是通过 plugins(插件)的形式进行集成。插件名称为 eslint-webpack-plugin。该插件又依赖 eslint 包,故需要安装两个开发依赖包:

    yarn add eslint eslint-webpack-plugin -D
    

    2 添加配置文件

    在项目的根路径下添加 ESLint 的配置文件:.eslintrc.js:

    module.exports = {
      env: {
        node: true,
        browser: true
      },
      extends: ['eslint:recommended'],
      parserOptions: {
        ecmaVersion: 6,
        sourceType: "module"
      },
      rules: {
        'no-var': 'error',
        'no-console': 'error'
      }
    }
    

    3 修改 webpack 配置

    修改 webpack.config.js,首先在文件顶部引入插件:

    const ESLintWebpackPlugin = require('eslint-webpack-plugin')
    

    Webpack5 插件是通过构造函数方式提供的,引入该插件后,得到的是一个构造函数,通过 new来创建对象。插件配置在webpack 配置对象的 plugins节点下,该节点是一个数组,数组每个元素都是一个插件。配置如下:

    ...
    const ESLintWebpackPlugin = require('eslint-webpack-plugin')
    
    module.exports = {
      ...
      plugins: [
        new ESLintWebpackPlugin({
          context: path.resolve(__dirname, 'src')
        })
      ],
      ...
    }
    

    4 测试运行

    执行之前配置的 webpack 编译打包命令:yarn build。

    此时会看到报错信息,因为 ESLInt 检查没有通过:

    ERROR in 
    xxxxxxx/Webpack_Learning/src/main.js
      12:1  error  Unexpected console statement  no-console
      15:1  error  Unexpected console statement  no-console
    

    这是在main.js中有 console.log语句造成的。

    修改 ESLint 的配置文件 .eslintrc.js中的规则配置,将 no-console关闭:

    'no-console': 'off'
    

    重新执行打包命令,成功。

    今日优雅哥(youyacoder)学习结束,期待留言分享~~

  • 相关阅读:
    细胞膜修饰两亲性接枝聚合物/荧光探针/荧光染料/水凝胶/仿生纳米颗粒(ICNPs)的研究与制备
    OOALV总结
    Linux内核4.14版本——drm框架分析(14)——Atomic KMS 架构(struct drm_atomic_state)
    PWmat加入腾讯TEFS生态,共同探索大体系计算应用场景
    26、Qt调用.py文件中的函数
    大学生阅读小说网页设计模板代码 柏书旧书网带登录表单 注册表单小说书籍网页作业成品 学校书籍网页制作模板 学生简单书籍阅读网站设计成品
    java 企业工程管理系统软件源码 自主研发 工程行业适用
    HJ73 计算日期到天数转换
    求职刷题力扣DAY23--回溯算法
    扫地机器人地图与用户终端的同步
  • 原文地址:https://www.cnblogs.com/youyacoder/p/16498260.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号