prettier-eslint,eslint-plugin-prettier和eslint-config-prettier之间有什么区别?

我想同时使用 Prettier 和 ESLint,但是我通过一个接一个地使用它们就遇到了一些冲突。我看到有这三个包似乎允许它们串联使用:

  • prettier-eslint
  • eslint-plugin-prettier
  • eslint-config-prettier

但是,我不确定使用哪个,因为这些软件包名称都包含 和 。eslintprettier

我应该使用哪个?


答案 1

tl;dr:使用 eslint-config-prettier,你可以忽略其余的。

ESLint 包含许多规则,那些与格式相关的规则可能与 Prettier 冲突,例如 、等。因此,将它们一起使用会导致一些问题。创建以下工具是为了同时使用 ESLint 和 Prettier。arrow-parensspace-before-function-paren

prettier-eslint eslint-plugin-prettier eslint-config-prettier
它是什么 导出单个函数的 JavaScript 模块。 一个 ESLint 插件。 一个 ESLint 配置。
它的作用 运行代码(字符串)到 然后。输出也是一个字符串。prettiereslint --fix 插件通常包含 ESLint 将检查的其他规则的实现。此插件在引擎盖下使用 Prettier,当您的代码与 Prettier 的预期输出不同时,将引发 ESLint 错误。 此配置将关闭可能与 Prettier 冲突的格式相关规则,从而允许您将 Prettier 与其他 ESLint 配置(如 eslint-config-Airbnb)一起使用。
如何使用它 要么在代码中调用函数,要么通过漂亮的-eslint-cli(如果您更喜欢命令行)调用函数。 将其添加到您的 ..eslintrc 将其添加到您的 ..eslintrc
最终输出是否符合 Prettier 标准? 取决于您的 ESLint 配置 是的 是的
是否需要单独运行命令?prettier 是的
您需要使用其他任何东西吗? 您可能希望使用 关闭冲突的规则。eslint-config-prettier

有关更多信息,请参阅Prettier官方文档

建议的做法是让 Prettier 处理格式化,而 ESLint 处理非格式化问题,这与该做法的方向不同,因此不再建议这样做。您可以一起使用和一起使用。prettier-eslintprettier-eslinteslint-plugin-prettiereslint-config-prettier


答案 2