我有一个Webpack项目,该项目使用Babel进行JavaScript编译。为了告诉Babel在编译我的代码时要针对的浏览器,我使用了.browserslistrc
文件。
我也对使用ESLint兼容性插件eslint-plugin-compat
感兴趣,如果您使用的JS与您要定位的浏览器不兼容,它将警告您(ESLint插件也指{ {1}}文件。
因此,我继续安装并将该插件添加到我的.browserslistrc
文件中,它似乎运行正常。但是,当我编译Webpack项目时,ESLint指出了我在代码中使用的功能,例如.eslintrc.js
,这些功能与目标浏览器不兼容。是的,我知道-这就是为什么我使用Babel,所以这些功能会转换为与我定位的浏览器兼容的功能。
所以也许我在这里某处缺少关键点。如果我已经在使用Babel将其转换为目标浏览器中的兼容代码,在构建过程中Object.values()
仍然有用吗?
答案 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
上进行跟踪