gulp-eslint: Как настроить правило "не использовать перед определением"
Я пытаюсь выключить "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 }
хоть немного. Там, кажется, нет никакой документации для этого нигде.
2 ответа
Этот ответ не объясняет, как выполнить пользовательскую настройку, но объясняет, как получить функциональность, которая была у меня изначально.
"no-use-before-define": [1, "nofunc"]
"nofunc"
в основном просто ярлык команды для { "functions": false, "classes": true, "variables ": true }
У меня такое ощущение, что это на самом деле ошибка в gulp-eslint, и нет никакого реального способа сделать пользовательские настройки с помощью плагина.
У вас есть лишний пробел в вашем правиле, сразу после слова "переменные":
"no-use-before-define": ["error", {"functions": false, "classes": true, "variable": true}]
Это незаконно и приведет к ошибке.