Eslint的配置

840 阅读3分钟

(一)配置

常用的配置Eslint的选项
1.配置Eslint:有两种主要的方式来配置Eslint:

①Configuration Comments ---使用js注释把配置信息直接嵌入到一个代码源文件中

②Configuration File---可以配置一个独立的.eslintrc.*,或者直接在package.json文件里的     eslintConfig字段指定配置,Eslint会查找和自动读取它们;再者,你可以在命令行运行时指   定一个任意的配置文件

{  "root": true,  //一旦发现配置文件中有这个属性,表示会停止在父级目录中寻找  "env": {    browser: true,    node: true  },  "parserOptions": {    parser: 'babel-eslint'  },  "extends": ['plugin:vue/recommended'],  "plugins": ['vue'],  "rules": {    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'  }}

2.指定解析器选项

    解析器选项可以在.eslintrc.*文件中的parserOptions字段中配置,比如:

{
    "parserOptions": {
        "ecmaVersion": 6,        //指定你要使用的ECMAScript版本
        "sourceType": "module",  //设置为"script"(默认)或"module"(如果你的代码是ECMAScript模块)
        "ecmaFeatures": {        //是个对象,指定额外的语言特性
            "jsx": true               //启用JSX
        }
    }
}
 3.指定解析器     

Eslint默认使用Espree作为其解析器,可以在配置文件中的parser中重新指定一个解析器:

注意:在使用了自定义解析器parser后,配置属性parserOptions仍然是必须的。解析器会被传入parserOptions,但是不一定会使用它们来决定功能特性的开关。

{
    "parser": "babel-eslint",  // 一个对Babel解析器的包装,使其能够与Eslint兼容
}
4.指定环境

要在配置文件里指定环境,使用env关键字指定你想开启的环境,并设置它们为true。以下展示了启用了browser和Node.js的环境:

{
    "env": {
        "browser": true,
        "node": true
    }
}

5.配置插件

Eslint支持第三方插件,在使用插件之前,你必须使用npm安装它。在配置文件里配置插件的时候,你可以在plugins关键字来存放插件名字的列表,插件名称可以省略eslint-plugin-前缀

{
    "plugins": [
        "vue",                 //需要先安装这个插件npm i eslint-plugin-vue
        "eslint-plugin-plugin2"
    ]
}

6.配置规则 

Eslint附带大量的规则,你可以使用注释或者配置文件修改你项目中使用的规则。要改变一个规则设置,你必须将规则ID设置为下列值之一:

注意:(值数组的第一项总是规则的严重程度【数字或字符串】)

  • "off"或0      ----关闭规则
  • "warn"或1  ----开启规则,使用警告级别的错误:warn(不会导致程序退出)
  • "error"或2  ----开启规则,使用错误级别的错误:error(当被触发的时候,程序会退出)

    {
        "rules": {
            "eqeqeq": "off",
            "curly": "error",
            "quotes": ["error", "double"]
        }
    }

7.带有内联主释的禁用规则

(二)命令行

(三)Rules

Eslint的所有规则:cn.eslint.org/docs/rules/

所有的规则默认都是禁用的。在配置文件中,使用 "extends": "eslint:recommended" 来启用推荐的规则,报告一些常见的问题,这些常用的规则可以在文档中自行查看。

.eslintrc.js文件中
module.exports={
    extends: "eslint:recommended"    //开启一些推荐的规则
    //extends的属性值:可以是字符串,也可以是字符串数组
}

命令行添加的--fix选项用来自动修复规则所报告的问题(目前,大部分是对空白的修复),

待定

在使用Eslint的时候,很多不明白的规则可以在以上进行查找,其中主要包括:

  • 关于js代码逻辑
  • 关于最佳实践
  • 关于严格模式
  • 关于变量声明
  • 关于Node.js或在浏览器中使用ComminJS
  • 关于代码风格
  • 关于ES6
  • 关于舍弃或者更改的