Eslint 配置及规则说明
一、常用配置
先附上本人常用配置,在 .eslintrc.js 文件中:
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', // allow console during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', // allow debugger during development
// 以下为该项目自定义部分
'indent': [2, 4], //缩进风格 - 开启缩进4格
'no-spaced-func': 2, //函数调用时 函数名与()之间不能有空格 - 开启
'no-const-assign': 2, //禁止修改const声明的变量 - 开启
'space-before-function-paren': [0, 'always'], //函数定义时括号前面要有空格 - 关闭
'eol-last': 0, //文件以单一的换行符结束 - 关闭
'camelcase': 0, //强制驼峰法命名 - 关闭
'no-undef': 0, //不能有未定义的变量 - 关闭
'no-alert': 0, //禁止使用alert confirm prompt - 关闭
'arrow-parens': 0, //箭头函数用小括号括起来 - 关闭
},
二、配置模板:
rules: {
"规则名": [规则值, 规则配置]
}
其中规则值有以下3种:0 = off, 1 = warn, 2 = error
"off"或者0 //关闭规则关闭
"warn"或者1 //在打开的规则作为警告(不影响退出代码)
"error"或者2 //把规则作为一个错误(退出代码触发时为1)
三、规则列表:
"no-alert": 0,//禁止使用alert confirm prompt
"no-array-constructor": 2,//禁止使用数组构造器
"no-bitwise": 0,//禁止使用按位运算符
"no-caller": 1,//禁止使用arguments.caller或arguments.callee
"no-catch-shadow": 2,//禁止catch子句参数与外部作用域变量同名
"no-class-assign": 2,//禁止给类赋值
"no-cond-assign": 2,//禁止在条件表达式中使用赋值语句
"no-console": 2,//禁止使用console
"no-const-assign": 2,//禁止修改const声明的变量
"no-constant-condition": 2,//禁止在条件中使用常量表达式 if(true) if(1)
"no-continue": 0,//禁止使用continue
"no-control-regex": 2,//禁止在正则表达式中使用控制字符
"no-debugger": 2,//禁止使用debugger
"no-delete-var": 2,//不能对var声明的变量使用delete操作符
"no-div-regex": 1,//不能使用看起来像除法的正则表达式/=foo/