對不起,我想在發佈答案之前嘗試一下,但賞金的差不多了。 ; ^)
This answer聲稱有一種方法可以編寫自己的JSHint模塊。
讓我們假設它像宣傳的那樣,並已重新合併。
Great instructions here,但要注意,這些都對「jshint-未來」的網站。從該頁面
示例代碼:
// This module errs on any identifier that doesn't starts with 'kitty'.
function myModule(linter) {
linter.on("Identifier", function (ident) {
if (ident.name && ident.name.slice(0, 5) !== "kitty")
linter.report.addError("C001", "More cats please.");
});
}
下面是關於如何建立一個棉短絨初始部分:
var Linter = require("jshint").Linter;
var code = "<your beautiful JavaScript code here>";
// Create a new instance of Linter.
var linter = new Linter(code);
// Now you can teach JSHint about your predefined variables.
// Note that default JavaScript identifiers are already there.
linter.addGlobals({
jQuery: false,
MyPlugin: true
});
// If you have any JSHint extensions, you can attach them
// to the current instance.
linter.addModule(myModule);
// Finally, parse your code.
linter.parse();
我知道這是非常通用的(你仍然需要研究linter.on
選項超出Identifier
;也有String
,例如),但它看起來很有前途。再次,您可以看到如何使用說明above進行集成。看起來這是used in style.js
的格式。我有不是試過這個呢。只是沒有時間在家;道歉。
是否有特定的原因torazaburo的「只需grep
它」的答案不起作用?您是否需要將其作爲代碼質量工作流程的一部分?如果是這樣,這個「寫你自己的模塊」似乎是要走的路。
如果你喜歡它,也有非常明顯的方法來破解JSLint,但我不確定克羅克福德會讚賞。 ; ^)
不,jshint不能這樣做。只要在尋找'@ author'的源代碼上做一個grep。如果你想要,你可以把它放在一個git pre-commit hook中。或者,如果遇到'@ author',創建文檔時可能會導致JSDoc錯誤。 – 2014-12-03 16:54:20
@torazaburo感謝您的有用評論,它實際上可以是一個合法的答案。 – alecxe 2014-12-03 17:08:29