为什么我们在使用 webpack 构建时需要 lint 代码?

Why we need to lint code when build with webpack?

有一些关于linting代码的插件,比如https://github.com/webpack-contrib/eslint-webpack-plugin。我想知道为什么我们需要在构建过程中检查代码。 Eslint 主要是代码风格检查吧?

我可以理解在 git 提交和合并请求之前或在构建之前在管道中进行检查,即 yarn lint 然后 yarn build 但不是在构建期间。

谁能帮忙解释一下为什么?提前致谢。

让我们从如何将 eslint 集成到我们的 javascript 项目开始。首先,我们需要安装一个配置文件和 eslint 二进制文件,最好是在项目 node_modules 文件夹中,这样每个人都使用相同的版本。然后,我们有选项:

  1. 通过 IDE 扩展程序检查

    为此,您需要一个带有 eslint 扩展名的 IDE。

  2. 通过构建工具进行 Linting,例如 webpack

    如果您没有带有 eslint 扩展的 IDE,您的实时 dev-server 可能会产生错误和警告。

  3. 当 committing/pushing:

    您可以使用 git 挂钩和相关库,例如 husky。它可以通过 --no-verify 标志绕过。

  4. 打开 PR 时检查:

    如果您有一个像 Github 这样的远程 git 主机,您可以 运行 自动化管道来检查错误和警告。最好这样做,因为这是对 main/master 分支进行检查的唯一保证。所有其他选项都是针对本地开发的,任何开发人员都可以绕过。

因此 eslint-webpack-plugin 用于选项 #2,因此您的开发人员不需要带有 lint 源代码扩展的 IDE; dev-server 为他们做这件事。此外,此插件还为您的开发人员提供了额外的一致性。并非每个 IDE 扩展都是相同的 behavior-wise。