我正在使用JSHint绘制我的JavaScript,并启用此选项
"asi": true,
"white": true
避免在我的代码中使用分号。
但我必须用支架开始我的新系列,所以我必须在开始之前加上分号
;(function () {
})
JSHint给了我两个错误:
我注意到这样JSHint很高兴
;
(function () {
})
但我认为这不是一个好的解决方案。
有没有办法解决这个问题,而无需关闭JSHint或白色选项?
答案 0 :(得分:3)
JSHint中的遗留white: true
选项用于强制道格拉斯克罗克福德在其原始JSLint工具中推广的编码风格。不含分号的javascript将无法满足他的编码风格。如果您不想受限于他的风格指南,请不要使用white: true
。
This list of JSHint options没有显示任何参数来自定义它们强制执行的编码风格。
为了证明没有答案,我去找了jshint来源的相关检查:
function nonadjacent(left, right) {
if (option.white) {
left = left || token;
right = right || nexttoken;
if (left.line === right.line && left.character === right.from) {
left.from += (left.character - left.from);
warning("Missing space after '{a}'.",
left, left.value);
}
}
}
选中的唯一配置选项是option.white
,所以遗憾的是无法实现您想要的行为。如果你真的想要一个能够完全符合你想要的工具,你可以轻松地分叉jshint并添加另一个选项并在nonadjacent
函数中进行检查。