【发布时间】:2019-08-18 13:56:18
【问题描述】:
我有一个使用 Babel 进行 JavaScript 转换的 webpack 项目。为了告诉 Babel 在编译我的代码时要定位哪些浏览器,我使用了 .browserslistrc 文件。
我也有兴趣使用 ESLint 兼容性插件 eslint-plugin-compat,如果您使用的 JS 与您所针对的浏览器不兼容,它会警告您(ESLint 插件也指 .browserslistrc文件)。
所以我继续安装并将插件添加到我的.eslintrc.js 文件中,它似乎工作正常。但是当我编译我的 webpack 项目时,ESLint 会指出我在代码中使用的功能,例如 Object.values(),这些功能与我的目标浏览器不兼容。嗯,是的,我知道——这就是我使用 Babel 的原因,所以这些功能被转换为与我的目标浏览器兼容的功能。
所以也许我在这里遗漏了一个关键点。如果我在目标浏览器中已经使用 Babel 转译为兼容代码,那么在我的构建过程中 eslint-plugin-compat 是否还有用处?
【问题讨论】:
-
解决方案(目前)是手动填充 API(参见自述文件)。对此的适当支持正在github.com/amilajack/eslint-plugin-compat/issues/174 中讨论。
标签: javascript webpack cross-browser babeljs eslint