如何使用 ESLint 2 禁用某些 ES2015 功能?
How to disable usage of certain ES2015 features with ESLint 2?
在 ESLint 1 中,我可以使用 ecmaFeatures
选项来禁用或启用某些语言功能。例如
ecmaFeatures:
defaultParams: false
以上配置禁用 defaultParams
。
这非常有用,因为在像 Node 这样的运行时,并非所有功能都可用,我不想使用转译器。
但是在 ESLint 2 中,它被删除了。你只有 ecmaVersion
,它根本不会提醒你使用 ES2015 特性,即使你给它一个 ecmaVersion
5。我想这是有道理的,因为 JavaScript 解释器会抱怨关于在解释时使用不受支持的语法,但是为具有不同级别的 ES2015 支持的浏览器开发呢?适用于 Chrome 的语法不适用于 IE9。
有什么方法可以检查语言特性的使用,例如禁用解构?
no-restricted-syntax rule disallows specific syntax. This "syntax" is meaning the types of AST nodes. The spec of AST is here: https://github.com/estree/estree
eslint-plugin-node 的 no-unsupported-features 规则不允许特定节点版本不支持的 ECMA 功能。不知道有没有类似的浏览器规则
在 ESLint 1 中,我可以使用 ecmaFeatures
选项来禁用或启用某些语言功能。例如
ecmaFeatures:
defaultParams: false
以上配置禁用 defaultParams
。
这非常有用,因为在像 Node 这样的运行时,并非所有功能都可用,我不想使用转译器。
但是在 ESLint 2 中,它被删除了。你只有 ecmaVersion
,它根本不会提醒你使用 ES2015 特性,即使你给它一个 ecmaVersion
5。我想这是有道理的,因为 JavaScript 解释器会抱怨关于在解释时使用不受支持的语法,但是为具有不同级别的 ES2015 支持的浏览器开发呢?适用于 Chrome 的语法不适用于 IE9。
有什么方法可以检查语言特性的使用,例如禁用解构?
no-restricted-syntax rule disallows specific syntax. This "syntax" is meaning the types of AST nodes. The spec of AST is here: https://github.com/estree/estree
eslint-plugin-node 的 no-unsupported-features 规则不允许特定节点版本不支持的 ECMA 功能。不知道有没有类似的浏览器规则