将eslint-plugin-compat与Babel一起使用

时间:2019-03-27 21:26:50

标签: javascript webpack cross-browser babeljs eslint

我有一个Webpack项目,该项目使用Babel进行JavaScript编译。为了告诉Babel在编译我的代码时要针对的浏览器,我使用了.browserslistrc文件。

我也对使用ESLint兼容性插件eslint-plugin-compat感兴趣,如果您使用的JS与您要定位的浏览器不兼容,它将警告您(ESLint插件也指{ {1}}文件。

因此,我继续安装并将该插件添加到我的.browserslistrc文件中,它似乎运行正常。但是,当我编译Webpack项目时,ESLint指出了我在代码中使用的功能,例如.eslintrc.js,这些功能与目标浏览器不兼容。是的,我知道-这就是为什么我使用Babel,所以这些功能会转换为与我定位的浏览器兼容的功能。

所以也许我在这里某处缺少关键点。如果我已经在使用Babel将其转换为目标浏览器中的兼容代码,在构建过程中Object.values()仍然有用吗?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用babel-eslint,即

  

允许您使用出色的ESLint整理所有有效的Babel代码。

我只是打算进行此更改,所以我对此没有任何经验,但是应该意味着它使eslint-plugin-compat变得不必要,因为任何“无效”代码都不会进入捆绑包。

但是,另一方面,eslint-plugin-compat仍然有{em> 有用的提示,例如window.screenLeft() is not supported in Firefox XY。我认为取消eslint-plugin-compat的资格也会跳过这些提示。

更新,您可以在https://github.com/amilajack/eslint-plugin-compat/issues/174

上进行跟踪