前端构建工具(1)-- 代码检查 --ESlint

一、简介:

eslint检查咱们写的 JavaScript 代码是否知足指定规则的静态代码检查工具webpack

  • ESHintJSLint 也是静态代码检查工具,但伴随着发展,他们已经没法知足需求,因而ESlint 诞生了,因次ESlint比它们功能更强大也更灵活。
  • ESLint 是用 Node.js 写的,能够经过 npm 来安装。ESLint 也能够在 webpack(eslint-loader) 和 Gulp.js(gulp-eslint) 中使用。

二、做用

ESlint做为代码检查工具,其做用主要有如下几点:es6

  • 统一代码风格规则,如:缩进用几个空格;是否用驼峰命名法来命名变量和函数名等。
  • 减小错误, 如:相等比较必须用 ===,变量在使用前必须被声明,在条件语句中不能使用赋值语句等。
  • 提升代码质量,如:函数最多有多少条件分支;最多有几个参数,代码块最多能嵌套多少层等。
  • 其余。如: 禁用alert。这能够提升用户体验,由于 alert 框的外观不是那么好看,并且每每与网站的风格不搭,通常都会自定义 alert 框。

三、安装&配置

eslint能够用npm 安装依赖,用-g是全局安装web

npm install -g eslint

初始化eslint配置,在用户文件中会生成一个eslint配置文件,即.eslintrc.jsnpm

eslint --init

而后能够在.eslintrc的文件进行配置:gulp

  • env: 指定代码的运行环境,设置了代码的运行环境能够是代码检测时,不会将运行环境预约义的全局变量视为没有定义curl

    "env": {
           "browser": true,
           "commonjs": true,
           "es6": true
        },
  • parserOptions: 设置js版本的支持状况和jxs的支持状况。ecmaVersion 指定用哪一个ECMAScript 的版本,默认是 3 和 5。函数

    "parserOptions": {
           "ecmaVersion": 6
       }
  • globals:额外的全局变量,将须要使用的全局变量设置为ture,在代码检测时该全局变量则不会报未定义的错误工具

    "globals": {
       "sap": true,
       "jQuery": true,
       "_": true,
       "$": true,
       "Promise": true,
       "QUnit": true,
       "sinon": true
    },
  • rules: 具体检查的规则,可使用extends: eslint recommoned采用推荐的检查规则,也能够本身对一些规则进行自定义,第一个参数是表示该规则检查出来的是 off / 0 :不检查,warn / 1 :错误 ,error /2 警告网站

    {
      "extends": "eslint:recommended",
      "rules": {
        "indent": ["error", 2],
        "no-mixed-spaces-and-tabs": "error"
        "camelcase": "error",
        "eqeqeq": "warn",
        "curly": "error",
        "no-undef": "error",
        "no-unused-vars": "warn",
        "max-params": "warn"
      }
    }

四、错误修改

具体的报错信息能够参考https://eslint.org/docs/3.0.0...url

相关文章
相关标签/搜索