【问题标题】:Use eslint-plugin-compat alongside Babel在 Babel 旁边使用 eslint-plugin-compat
【发布时间】: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 是否还有用处?

【问题讨论】:

标签: javascript webpack cross-browser babeljs eslint


【解决方案1】:

我认为你应该使用babel-eslint,它

允许您使用出色的 ESLint 对所有有效的 Babel 代码进行 lint。

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

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

更新你可以在https://github.com/amilajack/eslint-plugin-compat/issues/174上追踪这个

【讨论】:

    猜你喜欢
    • 2016-05-27
    • 2019-08-04
    • 2020-11-25
    • 2019-05-16
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多