项目中.jshintrc配置文件详细

{
  //JSHint 是一个使用 JavaScript 编写的 JavaScript 的代码质量检查工具,主要用来检查代码质量以及找出一些潜在的代码缺陷。

  //.jshintrc是JSHint的一种配置方式。这种方式允许你每个项目有不同的配置文件,只需要将文件放在项目根目录即可。

  //官方配置文档https://jshint.com/docs/options/

  //增强参数(Enforcing Options)
  "bitwise": true, // 禁用位运算符
  "camelcase": true, // 使用驼峰命名(camelCase)或全大写下划线命名(UPPER_CASE)
  "curly": false, // 在条件或循环语句中使用{}来明确代码块
  "eqeqeq": true, // 使用===和!==替代==和!=
  "es3": false, // 强制使用ECMAScript 3规范
  "es5": false, // 强制使用ECMAScript 5规范
  "forin": false, // 在for in循环中使用Object.prototype.hasOwnProperty()来过滤原型链中的属性
  "freeze": true, // 禁止复写原生对象(如Array, Date)的原型
  "immed": true, // 匿名函数调用必须(function() {}());而不是(function() {})();
  "indent": 2, // 代码缩进宽度
  "latedef": "nofunc", // 变量定义前禁止使用
  "newcap": true, // 构造函数名首字母必须大写
  "noarg": true, // 禁止使用arguments.caller和arguments.callee
  "noempty": true, // 禁止出现空的代码块
  "nonbsp": true, // 禁止non-breaking whitespace
  "nonew": true, // 禁止使用构造器
  "plusplus": false, // 禁止使用++和–-
  "quotmark": "single", // 统一使用单引号或双引号
  "undef": true, // 禁止使用不在全局变量列表中的未定义的变量
  "unused": false, // 禁止定义变量却不使用
  "strict": false, // 强制使用ES5的严格模式
  "trailing": true, // 禁止行尾空格
  "maxparams": 10, // 函数可以接受的最大参数数量
  "maxdepth": 50, // 代码块中可以嵌入{}的最大深度
  "maxstatements": 400, // 函数中最大语句数
  "maxcomplexity": 50, // 函数的最大圈复杂度
  "maxlen": 1200000, // 一行中最大字符数
  //松弛参数(Relaxing Options)
  "asi": false, // 允许省略分号
  "boss": false, // 允许在if,for,while语句中使用赋值
  "debug": false, // 允许debugger语句
  "eqnull": true, // 允许==null
  "esnext": true, // 允许使用ECMAScript 6
  "evil": true, // 允许使用eval
  "expr": true, // 允许应该出现赋值或函数调用的地方使用表达式
  "funcscope": false, // 允许在控制体内定义变量而在外部使用
  "globalstrict": false, // 允许全局严格模式
  "iterator": false, // 允许 iterator,不是所有的浏览器都支持 iterator
  "lastsemic": false, // 允许单行控制块省略分号
  "laxbreak": false, // 允许不安全的行中断
  "laxcomma": false, // 允许逗号开头的编码样式
  "loopfunc": true, // 允许循环中定义函数
  "maxerr": 500, // JSHint中断扫描前允许的最大错误数
  "moz": false, // 允许多行字符串
  "multistr": false, // 允许非法的typeof操作
  "notypeof": false, // 允许 proto,不是所有的浏览器都支持 proto
  "proto": false, // 允许混合tab和space排版
  "scripturl": false, //
  "shadow": false, // 允许变量多次定义变量
  "sub": true, // 允许使用person[‘name’],JSHint推荐使用person.name代替person['name']
  "supernew": false, // 允许使用new function() {…}和new Object
  "validthis": false, // 允许严格模式下在非构造函数中使用this
  "noyield": false, // 允许发生器中没有yield语句
  //环境参数(Enviroments)
  "browser": true,
  "node": true,
  "jquery": true,
  //配置全局变量
  "globals": {
     "_": true,
     "hex_md5": true,
     "moment": true,
     "jQuery": true,
     "console": true,
     "angular": false
  }
}

猜你喜欢

转载自blog.csdn.net/xiaoxiong_jiaxin/article/details/119729123