eslint定义值含义
- 0 禁用此规则
- 1 不符合规则即给出警告
- 2 不符合规则即报错
规则定义
- camelcase:1(使用驼峰)
- variable_name(试用下换线)
- comma-dangle: [2, ‘never’](对象最后一项省略逗号)
- comma-spacing:0 (逗号前后使用空格的限定)
- space-before-blocks:1(语句块前后的空格)
- consistent-return:0 (总是需要返回值)
- curly :0 (是否允许省略大括号,如if语句)
- default-case:0 (是否允许不写swich默认语句)
- func-names:0 (是否允许省略函数名)
Foo.prototype.bar = function() {};
(function() {
}())
Foo.prototype.bar1 = function bar1() {};
(function bar1() {
}())
- guard-for-in 是否约束for-in循环
在使用 for in 遍历对象时,会把从原型链继承来的属性也包括进来。这样会导致意想不到的项出现。
var foo = [5, 6, 7];
foo.__proto__.name = 'jiayou';
for(key in foo) {
console.log(key);
}
- dot-notation (要求使用点号访问属性而不是方括号)
- indent (强制一致的缩进)
- key-spacing (键值空格一致)
- keyword-spacing (关键字空格一致)
- max-len:1 (强制限定行长度,超过80警告)
- new-cap:0 (构造函数首字母大写)
- no-bitwise:0 (禁止使用位操作符,如 | & ~ ^ << >> >>>)
- no-caller (禁止使用arguments.caller 和 arguments.callee,ECMAScript 5严格模式下方法已经被禁用)
- no-console (不使用控制台输出)
- no-else-return (禁止在else前有return)
- no-multi-spaces (禁止多个空格)
- no-nested-ternary (禁止嵌套使用三元表达式)
- no-param-reassign (禁止对函数参数再赋值)
- no-shadow (关键字无法被重写)
- no-throw-literal (限制可以被抛出的异常)
throw new Error();
throw "error";
- no-undef (禁用未声明的变量)
- no-unneeded-ternary (使用更简洁的三元运算符)
var isYes = answer === 1 ? true : false;
var isYes = answer === 1;
- no-unreachable (禁止出现return/break/continue/throw后不可到达的代码)
function fn() {
x = 1;
return x;
x = 3;
}
- no-underscore-dangle (不使用下划线作为变量名)
- no-var (未定义不可使用)
- object-curly-spacing (大括号内空格一致)
- one-var (声明变量不换行)
- one-var-declaration-per-line (声明变量换行)
- padded-blocks (要求或禁止块内填充 ,一些风格指南要求块语句以空行开始并且以空行结束)
- space-before-function-paren (函数圆括号前有个空格)
- space-in-parens (圆括号内的空格)
- spaced-comment (注释前有空白)
- space-infix-ops(运算符周围有空格)
- no-trailing-spaces (禁止行尾的留白或空格)
- strict (要求使用严格模式)
- quote-props (要求属性名使用引号)
- quote (对于单引号’、双引号”、模板字符串`的限定)
- wrap-iife (是否要求将自执行函数包裹起来)
- vars-on-top (顶部声明变量)
env
环境配置-允许使用node、es6、browser、jasmine、mocha、jquery的语法
env: {
node: true,
es6: true,
browser: true,
jasmine: true,
mocha: true,
jquery: true
},
globals
使用 globals 指出你要使用的全局变量。设置每个变量等于 true 允许变量被重写,或 false 不允许被重写。
globals: {
angular: true,
by: true,
browser: true,
element: true,
inject: true,
io: true,
moment: true,
Modernizr: true,
Promise: true,
__TESTING__: true,
_: false,
ApplicationConfiguration: true
}
END