您的位置:首页 > 其它

eslint规则描述

2017-11-24 00:40 148 查看

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);   //0 1 2 name
}


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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: