我看到在每個目錄基礎上指定JSHint選項的能力是added here。如何在每個目錄的基礎上設置JSHint選項
然而,我不清楚你是如何真正利用這一點。我該如何在單個目錄中設置JSH選項,以便這些選項與其他目錄不同?
我看到在每個目錄基礎上指定JSHint選項的能力是added here。如何在每個目錄的基礎上設置JSHint選項
然而,我不清楚你是如何真正利用這一點。我該如何在單個目錄中設置JSH選項,以便這些選項與其他目錄不同?
看起來問題的變化實際上允許您指定基於每個文件的覆蓋選項。您可以將overrides
屬性添加到您的配置中,其值應該是一個對象。這個對象的鍵被當作正則表達式對其進行文件名測試。如果被分析的文件名稱的overrides
正則表達式匹配,那麼該覆蓋指定的選項將應用於該文件:
有這樣的cli.js
測試文件差異比較的例子在提交您鏈接到:
{
"asi": true,
"overrides": {
"bar.js$": {
"asi": false
}
}
}
在該例子中有一個單一的覆蓋,這將適用於匹配bar.js$
正則表達式(其看起來像一個比特的疏忽的任何文件,由於.
將匹配任何字符並可能意在僅匹配文字.
字符)。
說了這麼多,它看起來並不像overrides
屬性會幫助你。我認爲你實際上想要的是目錄中的新文件.jshintrc
。 JSHint從被分析文件的目錄中查找該文件,並向上移動目錄樹直到找到一個文件。無論它首先發現哪一個被使用。 From the docs:
在
.jshintrc
情況下,JSHint將開始尋找這個文件在同一目錄就是BEING LINTED文件。如果找不到,它將一直向上移動到文件系統根目錄樹上一級。
一個常見的用例是爲應用程序代碼和測試代碼分別配置JSHint配置。這使您可以分別定義不同的環境和全局變量。 「
」SHint將從正在分析的文件的目錄中查找該文件,並向上移動目錄樹直到找到一個。「你確定?我先試了一下,但沒有奏效。 – Icarus
是的,我一直在使用該設置。我已經編輯了我的答案,以包含文檔的相關部分。有一點需要記住的是,因爲JSHint開始在linted文件目錄中查找'.jshintrc'文件,並且無法從較高目錄中的配置中合併選項。 –