如何整合 Prettier 和 ESLint

阅读时长 5 分钟读完

简介

在前端开发中,代码规范是一个非常重要的部分。为了保证代码质量和可维护性,我们通常采用 Prettier 和 ESLint 两个工具来实现代码规范和格式化。Prettier 是一个代码格式化工具,可以帮助我们自动化地格式化代码。 ESLint 是一个 JavaScript 代码检查工具,可以帮助我们检查代码,提高代码质量。 本文将介绍如何整合 Prettier 和 ESLint,来使得我们的开发更加高效和规范。

安装 Prettier 和 ESLint

首先,我们需要在项目中安装 Prettier 和 ESLint,可以使用以下命令:

其中,

  • prettier 是 Prettier 工具;
  • eslint 是 ESLint 工具;
  • eslint-config-prettier 是用来禁用一些可能与 Prettier 冲突的 ESLint 规则;
  • eslint-plugin-prettier 是用来启用 Prettier 作为 ESLint 规则的一部分。

配置 ESLint

在项目中创建 .eslintrc.js 文件,配置 ESLint:

其中,extends 指定了使用的 ESLint 规则配置,plugins 指定了使用的插件。这里我们使用了 eslint-plugin-prettiereslint-config-prettier,这样就可以禁用一些与 Prettier 冲突的 ESLint 规则,同时启用 Prettier 作为 ESLint 规则的一部分。rules 是自定义的规则。这里我们启用了 prettier/prettier 规则,指定了 endOfLine 的值为自动检测,表示自动识别当前操作系统的换行符。

配置 Prettier

在项目根目录下创建 .prettierrc.js 文件,配置 Prettier:

其中,trailingComma 指定对象字面量项尾部是否加逗号,可选值为 "es5""none"tabWidth 指定缩进空格数。semi 指定是否强制加分号。singleQuote 指定是否使用单引号。

集成两者

我们可以使用 eslint-plugin-prettier 插件中的 prettier/prettier 规则来集成 Prettier,保证代码格式正确。同时,加入一个 pre-commit 钩子,在每次 commit 时自动运行 ESLint 和 Prettier,来保证代码规范和格式正确。

首先,安装 huskylint-staged 这两个工具:

然后,在 package.json 中添加以下配置:

-- -------------------- ---- -------
-------- -
  -------- -
    ------------- -------------
  -
--
-------------- -
  ----------------- -
    ------- -------
    --------- --------
  -
-

其中,husky 子属性中的 hooks 可以配置 git 钩子,这里我们将 pre-commit 钩子绑定到 lint-staged 上。lint-staged 中配置了要检查的文件以及相应的工具的命令,可以使用多个命令。这里我们执行了 ESLint 并使用 --fix 参数自动修复一些常规问题,并使用 prettier 来格式化 JS 文件。

示例代码

-- -------------------- ---- -------
-- ------------ --
-------------- - -
  -------- --------------------------------
  -------- -------------
  ------ -
    -------------------- --------- - ---------- ------ ---
    -- --------
  --
--

-- -------------- --
-------------- - -
  -------------- ------
  --------- --
  ----- -----
  ------------ -----
--

-- ------------ --
-------- -
  -------- -
    ------------- -------------
  -
--
-------------- -
  ----------------- -
    ------- -------
    --------- --------
  -
-

结论

本文介绍了如何整合 Prettier 和 ESLint,使得我们的前端开发更加高效和规范。通过配置 .eslintrc.js 文件和 .prettierrc.js 文件,并加入 huskylint-staged,能够在每次 commit 时自动运行 ESLint 和 Prettier,来保证代码规范和格式正确。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674ac648f37365f50a19e0f0

纠错
反馈