下面是我尝试将ESLint's 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*/,其中我收集到正在设置quotes和curly规则,并且quotes规则包含两个选项,因此它们包含在括号中,因为文档中写的是If a rule has additional options, you can specify them using array literal syntax (它在示例的上方这么说)。
然后,在new-cap中,我发现capIsNewExceptions是作为一个选项提供的,该选项的值应该是一个所需函数名的数组--就像我在上面的代码中所做的那样。
但不起作用。我仍然收到ESLint警告。
在Javascript文件中使用什么正确的语法来支持自定义new-cap规则的new-cap选项,以便与ESLint一起使用?
发布于 2015-06-20 06:47:17
试一试
/*eslint new-cap: [2, {capIsNewExceptions: ["S"]}]*/
var S = require("string");
var lines = S(text).lines();现在,它为什么会这样工作呢?
使用数组向规则传递选项是正确的,但在医生们中,他们提到该数组的第一个元素始终是“规则ID”:数字从0到2,定义了如何应用该规则:
0 -禁用规则,
1 -让它成为一个警告,
2 -使它成为一个错误。
我懒得检查,但假设数组的其余部分作为context的一个context属性传递给规则本身。从源代码的new-cap规则看来,它只需要一个选项,即具有可能的配置属性的对象,如capIsNewExceptions、newIsCap等。
https://stackoverflow.com/questions/30947844
复制相似问题