首页 文章

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

提问于
浏览
51

我想一起使用Prettier和ESLint,但我只是通过一个接一个地运行它们而遇到了一些冲突 . 我看到有这三个包似乎允许它们串联使用:

  • prettier-eslint

  • eslint-plugin-prettier

  • eslint-config-prettier

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

我应该使用哪个?

1 回答

  • 120

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

    我在一个要点中写了一个comparison in a tabular format,因为Stack Overflow不支持表格格式 . 如果您更喜欢组织,请查看它 .

    enter image description here

    prettier-eslint:运行 prettier 然后在代码上运行 eslint --fix . eslint 通常具有用于格式化相关规则的自动修复, eslint --fix 将能够修复Prettier引入的冲突格式 . 您无需单独运行 prettier 命令 .

    eslint-plugin-prettier:这是一个ESLint插件,意味着它包含ESLint将检查的其他规则的实现 . 这个插件使用了Prettier,当你的代码与Prettier的预期输出不同时会引发问题 . 这些问题可以通过 --fix 自动修复 . 使用此插件,您无需单独运行 prettier 命令,该命令将作为插件的一部分运行 . 此插件不会关闭与格式相关的规则,如果您手动或通过 eslint-config-prettier 看到此类规则的冲突,则需要将其关闭 .

    eslint-config-prettier:这是一个ESLint配置,它包含规则的配置(某些规则是打开,关闭还是特殊配置) . 此配置允许您通过关闭可能与Prettier冲突的格式相关规则,将Prettier与其他ESLint配置(如eslint-config-airbnb)一起使用 . 使用此配置,您不需要使用 prettier-eslint ,因为在Prettier格式化代码后,ESLint不会抱怨 . 但是,您需要单独运行 prettier 命令 .

    希望这总结了差异 .

相关问题