我正在用JSHint绘制我的JavaScript,并启用了此选项
"asi": true,
"white": true
避免在我的代码中使用分号。
但是我必须用支架开始我的新系列,所以我必须在开始之前加上一个分号
;(function () {
})
JSHint给了我两个错误:
我注意到这样JSHint很高兴
;
(function () {
})
但我认为这不是一个好的解决方案。
有没有办法解决这个问题,而不关闭JSHint或白色选项?
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
函数中检查它。