簡體   English   中英

如何禁用.jshintrc中jshint的“掉線”檢查器?

[英]How can I disable 'falls through' checker of jshint in .jshintrc?

我想在mt .jshintrc文件中禁用jshint的“掉線”檢查器。 但是,檢查器似乎默認情況下處於啟用狀態。

http://jshint.com/docs/#options

默認情況下,當您在switch語句中省略break或return語句時,JSHint會發出警告:

switch (cond) {
case "one":
  doSomething(); // JSHint will warn about missing 'break' here.
case "two":
  doSomethingElse();
}

我無法從官方網站上找到檢查器ID,因此無法更新.jshintrc文件。

您能否讓我知道如何禁用“掉線”檢查器以及在哪里可以找到jshint提供的完整檢查器列表。

感謝您的幫助。

您正在尋找在這里找到的鑰匙。

特別:

"-W086": true, //allow fall-through

我非常確定SomeKittens的答案應該可行,但是我想提出一個替代視圖,因為我是Google在查詢W086規則時帶到這里的。

jshint具有此默認行為的理由非常充分。 首先,大多數開發人員在尋找導致錯誤的原因時會看到這樣的代碼,很可能會將其鎖定,並花一些時間來嘗試確定漏洞是否是故意的(畢竟,這是一個非常常見的錯誤),有時甚至會搶先“修復”它。

因此,我建議您保留此默認行為,並特別使用提供的內嵌覆蓋機制來覆蓋它,以確保其他開發人員意識到您實際上是故意的。

就個人而言,即使您不知道jshint規則編號,我什至會對此添加評論,這是毫無疑問的:

// Fall-through required in switch statement.
/* jshint -W086 */
switch(...) { ... }
/* jshint +W086 */

或者,您可以簡單地添加/* falls through */ jshint /* falls through */ ,因為jshint識別出此跌落(允許您安全地將jshint和中斷混合在一起):

switch(...) {
    case ...:
        ...
        /* falls through */
    case ...:
        ...
        break;
    case ...:
        ...
        /* falls through */
    default:
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM