此頁面內容來自JSHint 專案儲存庫。如果你發現錯誤,請開啟問題或(更好)提出 Pull Request!
是的,你可以透過撰寫一個新的報告器組合你感興趣的報告器來做到這一點。
例如,若要使用名為 first-reporter
和 second-reporter
的報告器,請建立一個呼叫它們兩個的新模組
var first = require('first-reporter');
var second = require('second-reporter');
exports.reporter = function(results, data, opts) {
first.reporter(results, data, opts);
second.reporter(results, data, opts);
};
將其儲存到一個 named 為 dual-reporter.js
的檔案中,並且使用下列方式執行 JSHint
$ jshint --reporter ./dual-reporter.js
...你應該會看到 first-reporter
的輸出,接著是 second-reporter
的輸出。
此方法特別適合在不同的情境使用不同的報告器輸出(例如透過電子郵件將一個報告器的輸出傳送給開發團隊,再將另一個報告器的輸出提供給持續整合系統)。你可以輸出一個自訂的分隔符號作為輸出串流之間的識別符號,以便对其進行分組。或者,你可以在報告器呼叫之間取代全域變數 process.stdout
值為另一個串流。後者解決方案有點脆弱,因為它涉及變更全域狀態——JSHint 的未來版本可能會公開這個操作的更安全機制。
請參閱JSHint 的「報告器」API 文件以取得更多關於建立你自己的報告器的詳細資訊。
如果你的程式碼如下所示
function test(a, b, c) {
return c;
}
那麼,如果你將 unused
選項設定為 true
,JSHint 將不會針對未使用的變數 a
和 b
發出警告。它認為,如果未使用的參數後面緊接著使用過的參數,那是一個有意識的決定,而不是錯字。如果你要針對所有未使用的變數發出警告,無論它們出現在哪裡,請將 unused
選項設定為 strict
/*jshint unused:strict */
function test(a, b, c) {
return c;
}
// Warning: unused variable 'a'
// Warning: unused variable 'b'
如需更多資訊,請參閱:選項/unused。