在ESLint 1中,我可以使用ecmaFeatures
选项禁用或启用某些语言功能。例如
ecmaFeatures:
defaultParams: false
以上配置禁用defaultParams
。
这非常有用,因为在像Node这样的运行时中,并不是所有功能都可用,而且我不想使用transpiler。
但在ESLint 2中,它被删除了。您只得到了ecmaVersion
,即使ecmaVersion
为5,它也不会对ES2015功能的使用发出警报。我想这是有道理的,因为JavaScript解释器会抱怨在解释时使用了不受支持的语法,但为具有不同级别ES2015支持的浏览器开发呢?适用于Chrome的语法不适用于IE9。
是否有任何方法可以减少语言功能的使用,例如禁用析构函数
没有限制语法规则禁止特定语法。这个"语法"是指AST节点的类型。AST的规格如下:https://github.com/estree/estree
eslint插件节点的无不支持功能规则不允许特定节点的版本提供不支持的ECMA功能。我不知道是否存在类似的浏览器规则。