簡體   English   中英

ESLint:如何在文件內設置“ new-cap”規則的“ capIsNewExceptions”選項?

[英]ESLint: How to set “new-cap” rule's “capIsNewExceptions” option within a file?

這是我嘗試將ESLint的 new-cap規則設置為接受"S"作為允許的函數名稱:

/*eslint new-cap : [capIsNewExceptions : ["S"]] */
var S = require("string");
var lines = S(text).lines(); // <-- ESLint still gives a warning for cap 'S'!

如前所述,我的ESLint解析器(在IntelliJ中)繼續向我發出new-cap警告。

我試圖仔細地應用ESLint文檔

這里 ,我看到一個示例規則,如下所示: /*eslint quotes: [2, "double"], curly: 2* /,在其中我收集到quotescurly規則已設置,並且quotes rule包含兩個選項,因此包含在方括號中,因為文檔中說: If a rule has additional options, you can specify them using array literal syntax (該示例在示例上方)。

然后,從new-cap的實際文檔中 ,我發現capIsNewExceptions是作為一個選項提供的,並且該選項的值應該是所需函數名的數組-就像我在上面的代碼中所做的那樣。

但這是行不通的。 我仍然收到ESLint警告。

什么是正確的語法才能支持使用自定義capIsNewExceptions選項的Javascript文件中的new-cap規則與ESLint一起使用?

嘗試

/*eslint new-cap: [2, {capIsNewExceptions: ["S"]}]*/
var S = require("string");
var lines = S(text).lines();

現在,為什么它會這樣工作?

您使用數組將選項傳遞給規則是正確的,但是在文檔中他們提到該數組的第一個元素始終是“規則ID”:從0到2的數字,它定義了如何應用規則:
0禁用規則,
1發出警告,
2使其出錯。

我懶得檢查,但是我假設數組的其余部分作為contextoptions屬性傳遞給規則本身。 new-cap規則的源代碼看,它似乎只希望一個選項是一個對象,該對象具有諸如capIsNewExceptionsnewIsCap等可能的配置屬性。

暫無
暫無

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

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