集成 ESLint 和 Prettier
Prettier 和 ESLint 相互补充。我们可以将 Prettier 集成到 ESLint 的工作流程中。这允许你使用 Prettier 格式化你的代码,同时让 ESLint 专注于检查你的代码。因此,要集成它们,首先,我们需要 ESLint 的 eslint-plugin-prettier 插件,以便在 ESLint “之下” 使用 Prettier。然后我们可以像往常一样使用 Prettier 添加格式化代码的规则。
然而,ESLint 包含一些与格式相关的规则,这些规则可能与 Prettier 冲突,例如 arrow-parens 和 space-before-function-paren,当一起使用它们时可能会导致一些问题。为了解决这些冲突问题,我们需要 eslint-config-prettier 配置来关闭与 Prettier 冲突的 ESLint 规则。让我们看看如何在以下步骤中实现这一点:
-
通过
npm安装eslint-plugin-prettier和eslint-config-prettier:$ npm i eslint-plugin-prettier --save-dev $ npm i eslint-config-prettier --save-dev -
在
.eslintrc.json文件中启用eslint-plugin-prettier的插件和规则:{ "plugins": ["prettier"], "rules": { "prettier/prettier": "error" } } -
通过在
.eslintrc.json文件中使用eslint-config-prettier扩展Prettier的配置来覆盖ESLint的规则:{ "extends": ["prettier"] }请注意,值
"prettier"应该放在extends数组的最后,以便Prettier的配置可以覆盖ESLint的配置。此外,我们可以使用.eslintrc.js文件而不是JSON文件进行上述配置,因为我们可以在JavaScript文件中添加注释,这可能很有用。因此,以下是我们使用ESLint下的Prettier的配置:// .eslintrc.js module.exports = { //... 'extends': ['prettier'], 'plugins': ['prettier'], 'rules': { 'prettier/prettier': 'error' } } -
在
package.json文件(或在prettier.config.js文件中)中配置Prettier,以便Prettier不会在我们的代码中打印分号并始终使用单引号:{ "scripts": { "lint": "eslint --ignore-path .gitignore .", "lint-fix": "eslint --fix --ignore-path .gitignore ." }, "prettier": { "semi": false, "singleQuote": true } } -
在终端上运行
npm run lint-fix以一次性修复和格式化我们的代码。之后,你可以使用npx prettier命令单独再次检查代码,如下所示:$ npx prettier --c "src/**/*"然后你将在终端上得到以下结果:
Checking formatting... All matched files use Prettier code style!
这意味着我们的代码没有格式问题,并且成功地符合 Prettier 代码风格。将这两个工具结合起来以满足我们的需求和偏好是非常酷的,不是吗?但是你仍然只完成了一半——让我们在下一节中将这些配置应用于 Vue 和 Nuxt 应用程序。
|
你可以在我们的 |