Javascript 强制使用特定的ES版本

Javascript 强制使用特定的ES版本,javascript,ecmascript-6,ecmascript-5,eslint,Javascript,Ecmascript 6,Ecmascript 5,Eslint,我有一些文件将用Babel处理,因此是用ES6编写的。然而,我也有一些文件,将不会通过巴贝尔,因此应该在ES5在同一个项目。如果我不小心在这些文件中使用了某些ES6功能(例如箭头函数、解构),是否可以配置Eslint以使其抛出错误 我注意到,设置“parserOptions”:{“ecmaVersion”:5}与设置“env”:{“es6”:false}一样,不能提供理想的效果 您可以尝试对内联注释使用禁用规则 /* eslint-disable */ alert('foo'); /*

我有一些文件将用Babel处理,因此是用ES6编写的。然而,我也有一些文件,将不会通过巴贝尔,因此应该在ES5在同一个项目。如果我不小心在这些文件中使用了某些ES6功能(例如箭头函数、解构),是否可以配置Eslint以使其抛出错误


我注意到,设置
“parserOptions”:{“ecmaVersion”:5}
与设置
“env”:{“es6”:false}
一样,不能提供理想的效果

您可以尝试对内联注释使用禁用规则

/* eslint-disable */
    alert('foo');
/* eslint-enable */

再看一看

,问题出在我使用的可共享配置中()。在该配置中,
ecmaVersion
被设置为6,并且

我的配置中有
sourceType:“module”
。我认为这迫使eslint进入ES6模式

parserOptions: {
  ecmaVersion: 5,
  sourceType: "module",
},
当我删除该
sourceType
时,eslint确实开始警告ES6语法的不当使用

(尽管这通常是由于实际的解析错误,而不是linter规则!)


如果您从另一个配置继承了
sourceType
,那么您可以尝试覆盖它,但我不知道默认(ES5)值是什么。

您在区分文件(您提到您两者都有)方面有问题吗?或者只是在根据ES5删除文件方面有问题吗?@Bergi,没有,文件被分离到不同的文件夹。因此,我可以轻松地将不同的
.eslintrc
放在那里。问题是-我必须在
.eslintrc
中写些什么来禁止使用es6语法。在我看来,有一个单独的
.eslintrc
文件和
“parserOptions”:{“ecmaVersion”:5}
应该可以工作。你说“不能提供理想的效果”,它有任何效果吗?禁用规则没有问题。我只是想知道是否有一些规则禁止es6内容(最好是一条规则禁止所有新内容)