eslint规则描述

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

你可能感兴趣的:(eslint,代码规范,eslint)