module.exports = {
'env': {
'browser': true,
'commonjs': true,
'es6': true
},
'parser': 'babel-eslint',
'extends': [
'eslint:recommended',
'plugin:react/recommended'
],
'parserOptions': {
'ecmaVersion': 7,
// 开启实验属性
'ecmaFeatures': {
'experimentalObjectRestSpread': true,
// 修饰器
'experimentalDecorators': true,
'jsx': true
},
'sourceType': 'module'
},
'plugins': [
'react'
],
'globals': {
'__DEV__': false,
'__dirname': false,
'window': true,
'define': true,
'history': true,
'location': true,
'wxjs': true,
'$': true,
'WeixinJSBridge': true,
'wx': true,
'process': true,
'qq': true,
},
'settings': {
'react': {
'version': '16.2.0',
}
},
/**
* "off" 或 0 - 关闭规则
* "warn" 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出),
* "error" 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出)
*/
'rules': {
'no-cond-assign': 2,
'no-console': [
'error', {
'allow': ['log', 'warn', 'error', 'info']
}
],
// 禁止 function 定义中出现重名参数
'no-dupe-args': 2,
// 禁止对象字面量中出现重复的 key
'no-dupe-keys': 2,
// 禁止重复的 case 标签
'no-duplicate-case': 2,
// 禁止空语句块
'no-empty': 2,
// 禁止对 catch 子句的参数重新赋值
'no-ex-assign': 2,
// 禁止不必要的布尔转换
'no-extra-boolean-cast': 2,
// 禁止不必要的括号 //(a * b) + c;//报错
'no-extra-parens': 0,
// 强制所有控制语句使用一致的括号风格
'curly': [2, 'all'],
// 禁止 catch 子句的参数与外层作用域中的变量同名
'no-catch-shadow': 0,
// 不允许标签与变量同名
'no-label-var': 2,
// 禁用特定的全局变量
'no-restricted-globals': 2,
// 禁止 var 声明 与外层作用域的变量同名
'no-shadow': 0,
// 禁止覆盖受限制的标识符
'no-shadow-restricted-names': 2,