2014-05-17 79 views

回答

5

看起來問題的變化實際上允許您指定基於每個文件的覆蓋選項。您可以將overrides屬性添加到您的配置中,其值應該是一個對象。這個對象的鍵被當作正則表達式對其進行文件名測試。如果被分析的文件名稱的overrides正則表達式匹配,那麼該覆蓋指定的選項將應用於該文件:

有這樣的cli.js測試文件差異比較的例子在提交您鏈接到:

{ 
    "asi": true, 
    "overrides": { 
     "bar.js$": { 
      "asi": false 
     } 
    } 
} 

在該例子中有一個單一的覆蓋,這將適用於匹配bar.js$正則表達式(其看起來像一個比特的疏忽的任何文件,由於.將匹配任何字符並可能意在僅匹配文字.字符)。


說了這麼多,它看起來並不像overrides屬性會幫助你。我認爲你實際上想要的是目錄中的新文件.jshintrc。 JSHint從被分析文件的目錄中查找該文件,並向上移動目錄樹直到找到一個文件。無論它首先發現哪一個被使用。 From the docs

.jshintrc情況下,JSHint將開始尋找這個文件在同一目錄就是BEING LINTED文件。如果找不到,它將一直向上移動到文件系統根目錄樹上一級。

一個常見的用例是爲應用程序代碼和測試代碼分別配置JSHint配置。這使您可以分別定義不同的環境和全局變量。 「

+1

」SHint將從正在分析的文件的目錄中查找該文件,並向上移動目錄樹直到找到一個。「你確定?我先試了一下,但沒有奏效。 – Icarus

+2

是的,我一直在使用該設置。我已經編輯了我的答案,以包含文檔的相關部分。有一點需要記住的是,因爲JSHint開始在linted文件目錄中查找'.jshintrc'文件,並且無法從較高目錄中的配置中合併選項。 –

相關問題