我有一些将使用Babel处理的文件,因此是用ES6编写的。但是,我也有一些不会通过Babel的文件,因此应该在同一个项目的ES5中。如果我不小心在这些文件中使用了某些ES6功能(例如箭头功能,解构),我是否可以配置Eslint以便抛出错误?
我注意到,设置"parserOptions": {"ecmaVersion": 5}
并不能提供理想的效果以及设置"env": {"es6": false}
。
答案 0 :(得分:2)
最终结果显示,问题出在我使用的可共享配置中(xo)。在该配置中,ecmaVersion
设置为6,ESLint doesn't support override for ecmaVersion
答案 1 :(得分:0)
您可以尝试使用内联注释禁用规则
/* eslint-disable */
alert('foo');
/* eslint-enable */
答案 2 :(得分:0)
我的配置中有sourceType: "module"
。我认为这迫使eslint进入ES6模式。
parserOptions: {
ecmaVersion: 5,
sourceType: "module",
},
当我删除sourceType
时,eslint确实开始警告不当使用ES6语法。
(虽然这通常来自实际的解析错误而不是linter规则!)
如果您从其他配置继承了sourceType
,那么您可以尝试覆盖它,但我不知道默认值(ES5)是什么。