更漂亮的 eslint、更漂亮的 eslint-plugin 和更漂亮的 eslint-config 之间有什么区别?

我想同时使用 Prettier 和 ESLint,但是我只是一个接一个地使用它们,就经历了一些冲突。我发现有三个软件包似乎可以同时使用:

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

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

我该用哪个?

37211 次浏览

Dr: 使用 eslint-config-prettier,可以忽略其余部分。

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

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

有关详细信息,请参阅 更漂亮的官方文件

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