jshint .jshintrc 的设置

文档地点

{
//
// 强迫选项
//
    // When set to true, these options will make JSHint produce more warnings about your code.

    /**
     * 是不是阻挠位运算符的运用
     *
     * 有时刻为了疾速取整或推断,会运用一些位运算符,所以此项设置为 false
     */
    "bitwise": false,
    /**
     * 是不是请求变量都运用驼峰定名
     *
     * 默许开启
     * 弃用,见jscs项目
     */
    "camelcase": false,
    /**
     * 是不是请求 for/while/if 等轮回和前提语句中老是运用花括号
     *
     *
     */
    "curly": false,
    /**
     * 是不是强迫运用严厉等号
     *
     * 有时刻须要推断 null,所以默许不严厉请求
     */
    "eqeqeq": false,
    /**
     * true: 默许请求一切函数运行在ES5
     * 弃用
     */
    "es3": true,
    "es5": true,
    "esnext": true,
    /**
     * 挑选ES版本,3,5,6
     */
    "esversion": 5,
    /**
     * for-in 语句是不是请求过滤原型链上的对象
     *
     * 默许翻开
     */
    "forin": true,
    /**
     * 是不是阻挠修正或拓展基础对象(Array、Date 等)的原型链
     *
     * 原型链污染比较风险,默许翻开
     */
    "freeze": true,
    /**
     * 变量只能在函数域上定义,在代码块上定义的变量给出正告
     */
    "funcscope": true,
    /**
     * 当运用JS保留字时,显现正告
     */
    "futurehostile": true,
    /**
    *这个选项能够用来指定一个没有正式定义的全局变量的白名单。设置 globals在单个文件,看看内联设置.
    */
    "globals": {
        "define": false,
        "module": true,
        "export": true,
        "console": false
    },
    /**
     * 是不是请求自实行的要领运用括号括起  (function () { } ());
     * 默许翻开
     * 弃用,见jscs项目
     */
    "immed": true,
    /**
     * 指定tab缩进宽度为 2 个空格
     *
     * 弃用,见jscs项目
     */
    "indent": 2,
    /**
     * 请求变量在运用前声明,
     */
    "latedef": true,
    /**
     * 代码块嵌套深度
     */
    "maxdepth": 2,
    /**
     * 最大毛病提醒数目,默许50
     */
    "maxerr": 50,
    /**
     * 单行最大长度
     *
     * 弃用,见jscs项目
     */
    "maxlen": 50,
    /**
     * 设置函数正式参数的最大数目
     *
     */
    "maxparams": 4,
    /**
     * 一个函数内声明语句的最大数目
     *
     */
    "maxstatements": 4,
    /**
     * 请求组织函数大写
     *
     * 弃用,见jscs项目
     */
    "newcap": true,
    /**
     * 不允许运用 arguments.callee 和 arguments.caller
     */
    "noarg": true,
    /**
     * 不允许运用逗号
     */
    "nocomma": true,
    /**
     * 不允许空的代码快,默许封闭
     *
     * 弃用,见jscs项目
     */
    "noempty": false,
    /**
     * 不允许运用 "non-breaking whitespace"。
     *
     * 这些字符在非 UTF8 页面会致使代码失效
     */
    "nonbsp": true,
    /**
     * 阻挠直接运用 new 挪用组织函数的语句(不赋值对象)
     *
     * // OK
     * var a = new Animal();
     *
     * // Warn
     * new Animal();
     */
    "nonew": true,
    /**
     * 阻挠直接运用 typeof 操作符
     *
     * 慎用
     */
    "notypeof": true,
    /**
    * 字符串引号
    *
    * 默许请求运用单引号
    true-- 代码字符串制止单引号双引号混用,
    "single"--只允许单引号
    "double"--只允许双引号。
    * 弃用,见jscs项目
    */
    "quotmark": "single",
    /**
    * 隐藏式声明
    *
    "inner" - check for variables defined in the same scope only
    "outer" - check for variables defined in outer scopes as well
    false - same as inner
    true - allow variable shadowing
    */
    "shadow": "inner",
    /**
     *  制止在不必要的时刻运用分组运算符
     */
    "singleGroups": true,
    /**
     * 是请求否以 strict 形式搜检
     *
     * 该选项请求文件有 "use strict;"不全局请求,须要的模块自行开启
     */
    "strict": false,
    /**
     * 提醒未定义的变量
     *
     * 未定义的变量会轻易形成全局变量,该项开启
     */
    "undef": true,
    /**
     * 提醒未运用的变量
     * vars - to only check for variables, not function parameters
     * strict - to check all variables and parameters.
     * 默许开启
     */
    "unused": true,
    /**
     * 是不是制止运用var
     * Use `let` or `const` instead.
     */
    "varstmt": true,

//
//Relaxing options
//
    //When set to true, these options will make JSHint produce fewer warnings about your code.

    /**
     * 不显现缺乏分号正告
     */
    "asi": true,
    /**
     *  不显现在 比较处运用了赋值 的正告信息。
     */
    "boss": true,
    /**
     * 不显现代码中运用的 debugger 语句默许给出的正告
     */
    "debug": true,
    /**
     * This option tells JSHint that your code uses ES3 array elision elements, or empty elements (for example, [1, , , 4, , , 7]).
     */
    "elision": true,
    /**
     * 不显现关于 == null的正告
     * 当您想要搜检变量是不是为空或未定义时,这类比较每每很有效。
     */
    "eqnull": true,
    /**
     * 不显现关于 eval 的正告
     *
     */
    "evil": true,
    /**
     * 不显现 在应当运用复制或函数挪用的处所运用了表达式 的正告。
     */
    "expr": true,
    /**
     * 不显现缺乏分号的正告
     */
    "lastsemic": true,
    /**
     * 不显现不安全的折行的正告
     *
     * 弃用,见jscs项目
     */
    "laxbreak": true,
    /**
     * 不显现逗号放前面的正告,比方:
     *
     * 弃用,见jscs项目
     */
    "laxcomma": true,
    /**
     * 不显现 在轮回语句中定义函数 的正告
     */
    "loopfunc": true,
    /**
     * 不显现 多行字符串 的正告
     */
    "multistr": true,
    /**
     * 不允许运用 ++ 和 -- 运算符
     *
     * 默许封闭
     */
    "plusplus": false,
    /**
     * 制止关于__proto__属性的正告
     */
    "proto": true,
    /**
     *  true: Prohibit use of empty blocks
     *  该选项掌握形如 person['name'] vs. person.name的正告信息的显现
     *  弃用,见jscs项目
     */
    "sub": true,
//
// Environments
//
    // These options let JSHint know about some pre-defined global variables.
    /**
     * 暴露浏览器属性的全局变量,列如 window,document;
    注重:这个选项不暴露变量 alert或 console。
     */
    "browser": true,
    /**
     * 这个选项定义全局暴露的jQuery库。
     */
    "jquery": true
}
    原文作者:King
    原文地址: https://segmentfault.com/a/1190000006854337
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞