3

我正在尝试关闭"no-use-before-define"函数的规则,但让它对变量和类保持活动状态。

在此处找到的文档中http://eslint.org/docs/rules/no-use-before-define它说这是正确的配置语法:

"no-use-before-define": ["error", { "functions": false, "classes": true, "variables ": true }]

当我运行它时,虽然我收到了这个错误:

[21:00:46] Error: CLI:
    Configuration for rule "no-use-before-define" is invalid:
    Severity should be one of the following: 0 = off, 1 = warning, 2 = error (you passed "error").
    Value "[object Object]" must be an enum value.

    at Object.validateRuleOptions (E:\01-Dans stuff\Projects\00 - YeoSword\YeoSword-git\node_modules\gulp-eslint\node_modules\eslint\lib\config\config-validator.js:102:15)
    at CLIEngine.<anonymous> (E:\01-Dans stuff\Projects\00 - YeoSword\YeoSword-git\node_modules\gulp-eslint\node_modules\eslint\lib\cli-engine.js:421:19)
    at Array.forEach (native)
    at new CLIEngine (E:\01-Dans stuff\Projects\00 - YeoSword\YeoSword-git\node_modules\gulp-eslint\node_modules\eslint\lib\cli-engine.js:420:43)
    at Object.gulpEslint (E:\01-Dans stuff\Projects\00 - YeoSword\YeoSword-git\node_modules\gulp-eslint\index.js:17:15)
    at E:/01-Dans stuff/Projects/00 - YeoSword/YeoSword-git/gulp/tasks/eslint.js:24:16
    at taskWrapper (E:\01-Dans stuff\Projects\00 - YeoSword\YeoSword-git\node_modules\undertaker\lib\set-task.js:13:15)
    at bound (domain.js:287:14)
    at runBound (domain.js:300:12)
    at asyncRunner (E:\01-Dans stuff\Projects\00 - YeoSword\YeoSword-git\node_modules\async-done\index.js:36:18)

我知道 gulp-eslint 语法与官方的 eslint 配置语法有点不同。

我无法弄清楚 gulp-eslint 的语法是什么{ "functions": false, "classes": true, "variables ": true }。似乎在任何地方都没有任何文档。

4

2 回答 2

3

这个答案没有解释如何进行自定义配置,但它确实解释了如何获得我最初追求的功能。

"no-use-before-define": [1, "nofunc"]

"nofunc"基本上只是一个快捷命令{ "functions": false, "classes": true, "variables ": true }

我觉得这实际上是 gulp-eslint 中的一个错误,并且没有使用该插件进行自定义设置的实际方法。

于 2017-05-05T10:42:29.593 回答
0

您的规则中有一个额外的空格,就在“变量”一词之后:

“在定义之前不使用”:[“错误”,{“函数”:假,“类”:真,“变量”:真}]

这是非法的并且会产生错误。

于 2017-11-13T15:27:44.080 回答