155

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

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

但是,我不确定使用哪个包名,因为这些包名都包含eslintand prettier

我应该使用哪个?

4

1 回答 1

303

tl; dr:使用eslint-config-prettier,您可以忽略其余部分。

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

prettier-eslint eslint-plugin-prettier eslint-config-prettier
这是什么 导出单个函数的 JavaScript 模块。 一个 ESLint 插件。 一个 ESLint 配置。
它能做什么 prettier通过then运行代码(字符串)eslint --fix。输出也是一个字符串。 插件通常包含 ESLint 将检查的附加规则的实现。这个插件在后台使用 Prettier,当你的代码与 Prettier 的预期输出不同时会引发 ESLint 错误。 此配置关闭可能与 Prettier 冲突的格式相关规则,允许您将 Prettier 与其他 ESLint 配置(如eslint-config-airbnb.
如何使用它 在您的代码中调用该函数,或者prettier-eslint-cli如果您更喜欢命令行,则可以通过该函数调用。 将其添加到您的.eslintrc. 将其添加到您的.eslintrc.
最终输出 Prettier 是否兼容? 取决于你的 ESLint 配置 是的 是的
您需要prettier单独运行命令吗? 是的
你需要使用其他东西吗? 您可能希望使用eslint-config-prettier.

有关详细信息,请参阅Prettier 官方文档

推荐的做法是让 Prettier 处理格式化和 ESLint 处理非格式化问题,prettier-eslint与该做法的方向不同,因此prettier-eslint不再推荐。可以eslint-plugin-prettiereslint-config-prettier一起使用。

于 2017-06-22T04:43:00.307 回答