![](/img/trans.png)
[英]How do I resolve the no-restricted-syntax from eslinter in JavaScript ?
[英]How can I turn off ESLint's no-restricted-syntax rule just for ForOfStatement?
我将 ESLint 用于我的 ES6 程序,并带有 AirBNB 规则集。 出于充分和充分的原因,我在我的代码中使用了for...of
构造,但 ESLint 反对它,发出no-restricted-syntax
错误。
http://eslint.org/docs/rules/no-restricted-syntax 上的文档解释了我如何在我的.eslint
文件中指定它反对的语法树节点集:例如,如果我不喜欢的是with
语句,我可以使用:
“无限制语法”:[“警告”,“WithStatement”]
但我不想指定一整套未经批准的结构,我只想说我认为这样的结构可以。 概念上类似于
ESlint.rules['no-restricted-syntax'].removeEntry('ForOfStatement');
有没有办法在 ESLint 文件中做到这一点? 或者,如果失败了,是否至少有一种方法可以让它告诉我它当前no-restricted-syntax
配置是什么,以便我可以从中手动删除 ForOfStatement ?
基于当前的主分支, eslint-config-airbnb
目前禁用四种语法形式 :
ForInStatement
ForOfStatement
LabeledStatement
WithStatement
您可以使用ESLint的--print-config
CLI标志验证这一点或查看是否存在任何差异:
$ eslint --print-config file.js
ESLint将打印出它将使用皮棉的配置file.js
,你可以找到的的配置no-restricted-syntax
规则存在。
no-restricted-syntax
如果要覆盖Airbnb的预设,可以在.eslintrc.json
文件的rules
部分中.eslintrc.json
操作:
{
"rules": {
"no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"]
}
}
除了单一语法形式之外, no-restricted-syntax
将规则配置为使用从Airbnb预设继承no-restricted-syntax
配置。
在 .eslintrc.js 文件中添加以下代码行以限制应用程序中的此错误
module.exports = {
extends: ['airbnb-base', 'plugin:prettier/recommended'],
plugins: ['no-only-tests'],
rules: {
'no-only-tests/no-only-tests': 2,
"no-restricted-syntax": ["error", "ForInStatement", "LabeledStatement", "WithStatement"]
},
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.