.jshintrc配置
Posted 小向光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.jshintrc配置相关的知识,希望对你有一定的参考价值。
grunt工具可以配置.jshintrc
文件,例如
jshint:
options:
'-W033': true,
'jshintrc':'.jshintrc'
,
build:['Gruntfile.js','src/*.js']
//
// 强制选项
//
// When set to true, these options will make JSHint produce more warnings about your code.
/**
* 是否阻止位运算符的使用
*
* 有时候为了快速取整或判断,会使用一些位运算符,所以此项设置为 false
*/
"bitwise": false,
/**
* 是否要求变量都使用驼峰命名
*
* 默认开启
* 弃用,见jscs项目
*/
"camelcase": true,
/**
* 是否要求 for/while/if 等循环和条件语句中总是使用花括号
*
*
*/
"curly": true,
/**
* 是否强制使用严格等号
*
* 有时候需要判断 null,所以默认不严格要求
*/
"eqeqeq": true,
/**
* true: 默认要求所有函数运行在ES5
* 弃用
*/
"es3": true,
"es5": true,
"esnext": true,
/**
* 选择ES版本,3,5,6
*/
"esversion": 5,
/**
* for-in 语句是否要求过滤原型链上的对象
* 添加 obj.hasOwnProperty(prop)
* 默认打开
*/
"forin": true,
/**
* 是否阻止修改或拓展基本对象(Array、Date 等)的原型链
*
* 原型链污染比较危险,默认打开
*/
"freeze": true,
/**
* 变量只能在函数域上定义,在代码块上定义的变量给出警告
*/
"funcscope": true,
/**
* 当使用JS保留字时,显示警告
*/
"futurehostile": true,
/**
* 是否要求自执行的方法使用括号括起 (function () ());
* 默认打开
* 弃用,见jscs项目
*/
"immed": true,
/**
* 指定tab缩进宽度为 2 个空格
*
* 弃用,见jscs项目
*/
"indent": 4,
/**
* 要求变量在使用前声明,
*/
"latedef": true,
/**
* 代码块嵌套深度
*/
"maxdepth": 4,
/**
* 最大错误提示数量,默认50
*/
"maxerr": 10000,
/**
* 单行最大长度
*
* 弃用,见jscs项目
*/
"maxlen": 200,
/**
* 设置函数正式参数的最大数量
*
*/
"maxparams": 4,
/**
* 一个函数内声明语句的最大数量
*
*/
"maxstatements": 1000,
/**
* 要求构造函数大写
*
* 弃用,见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": false,
/**
* 字符串引号
*
* 默认要求使用单引号
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": false,
//
//Relaxing options
//
//When set to true, these options will make JSHint produce fewer warnings about your code.
/**
* 不显示缺少分号警告
*/
"asi": false,
/**
* 不显示在 比较处使用了赋值 的警告信息。
*/
"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": false,
/**
* 不显示不安全的折行的警告
*
* 弃用,见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,
"devel": true,
/**
*这个选项可以用来指定一个没有正式定义的全局变量的白名单。配置 globals在单个文件,看看内联配置.
*需要的引用到的js类库的全局变量应该加入进来
*/
"globals":
"define": true,
"module": true,
"export": true,
"console": true,
"THREE": true,
"TWEEN": true,
"Stats":true
以上是关于.jshintrc配置的主要内容,如果未能解决你的问题,请参考以下文章