eslint配置文件之基本字段解释

规则知识点

配置文件读取优先级顺序:

eslintrc.js

eslintrc.yaml

eslintrc.yml

eslintrc.json

eslintrc

package.json

配置rules数值规则:

"off" or 0 - turn the rule off

"warn" or 1 - turn the rule on as a warning (doesn’t affect exit code)

"error" or 2 - turn the rule on as an error (exit code is 1 when triggered)

字段详解

{
    // 别人可以直接使用你配置好的ESLint, ESLint 一旦发现配置文件中有 "root": true,它就会停止在父级目录中寻找。
    "root": true,
    
    // 指定解析器
    "parser": "babel-eslint",
    
    // 指定解析器选项,EsLint通过parserOptions,允许指定校验的ecma的版本,及ecma的一些特性
    "parserOptions": {
        "ecmaVersion": 2019, // 指定ECMAScript支持的版本,6为ES6
        "sourceType": "module", // 指定来源的类型,有两种”script”或”module”
        "ecmaFeatures": {
            "jsx": true // 启动JSX
        }
    },
    
    // 加入第三方插件,三方插件同样提供rules、extends等配置
    "plugins": ["vue"],
        
    // 继承别的规则配置文件
    "extends": [
        "eslint:recommended",
        "plugin:jest/recommended",
        "plugin:vue/recommended",
        "prettier"
    ],
    
    // 指定将在所有插件规则之间共享的设置
    "settings": {
        
    },
        
    // 指定规则
    "rules": {
        "no-new": 0, // 是否允许new构造函数不赋值给变量
        "no-shadow": 0, // 是否允许来自被屏蔽的变量的变量声明(比如一个被全局定义过的变量 是否允许在局部的function里再次被定义)
        "camelcase": 1, // 是否强制使用驼峰拼写法命名规定
        "no-bitwise": 0, // 按位操作的规则
        "func-names": 0, // 定义方法的规则
        "no-console": 0, // 是否允许使用console
        "no-plusplus": 0, // 是否允许 ++ -- 这样的操作写法
        "arrow-parens": 2, // 方法箭头左侧属性是否加()
        "comma-dangle": 0, // 结尾处k-v值后面是否允许逗号
        "default-case": 0, // switch-case语句是否强制加default case
        "prefer-template": 0, // 是否强制使用``这样的template字面量符号代替拼接字符串
        "consistent-return": 0, // 是否强制return指定值
        "no-param-reassign": 0, // 是否禁止参数变量再分配值
        "no-nested-ternary": 0, // 是否禁止嵌套三元表达式
        "operator-linebreak": 0, // 是否强制段行风格
        "object-curly-newline": 0, // 是否强制花括号内段行风格
        "no-underscore-dangle": 1, // 是否强制下划线变量命名风格
        "no-unused-expressions": 0, // 是否禁止不用的表达式存在
        "no-restricted-globals": 0, // 是否禁用特定的全局变量(可自定义)
        "function-paren-newline": 0, // 是否强制方法的参数换行
        "class-methods-use-this": 0, // 是否强制class函数体内出现this
        "implicit-arrow-linebreak": 0, // 是否不允许方法中=>右边换行
        "space-before-function-paren": 0, // 是否强制方法圆括号左边空格
        "max-len": ["error", {"code": 150}], // 是否强制代码一行内的字符上限
        "prefer-destructuring": 0, // 是否强制使用对象解构
    },
    
    // env:你的脚本将要运行在什么环境中
    // Environment可以预设好的其他环境的全局变量,如brower、node环境变量、es6环境变量、mocha环境变量等
    "env": {
        "browser": true,
        "commonjs": true,
        "es6": true
    },
    
    // 指定你所要使用的全局变量,true代表允许重写、false代表不允许重写
    "globals": {
        "window": false,
        "document": false,
        "navigator": false
    }
},
我来评几句
登录后评论

已发表评论数()

相关站点

热门文章