在ESLint 1中,我可以使用该ecmaFeatures选项来禁用或启用某些语言功能.例如
ecmaFeatures:
defaultParams: false
Run Code Online (Sandbox Code Playgroud)
以上配置禁用defaultParams.
这非常有用,因为在运行时像Node一样,并非所有功能都可用,而且我不想使用转换器.
但在ESLint 2中,已被删除.你只有ecmaVersion,即使你给它一个ecmaVersion5 ,也没有提醒ES2015功能的使用.我想这是有意义的,因为JavaScript解释器会抱怨在解释时使用不支持的语法,但是开发怎么样?对于浏览器有不同级别的ES2015支持?适用于Chrome的语法不适用于IE9.
有没有办法搞定语言功能的使用,例如禁用解构?
无限制语法规则不允许特定语法。这个“语法”意味着 AST 节点的类型。AST 的规范在这里: https: //github.com/estree/estree
eslint-plugin-node的 no-unsupported-features 规则不允许特定 Node 版本不支持的 ECMA 功能。我不知道浏览器是否存在类似的规则。