ESLint содержит много правил и те, которые форматирования связанных могут конфликтовать с похорошела, такие как arrow-parens
, space-before-function-paren
и т.д. Таким образом , используя их вместе вызовет некоторые проблемы. Следующие инструменты были созданы для совместного использования ESLint и Prettier.
Я написал сравнение в табличном формате по сути, поскольку Stack Overflow не поддерживает форматирование таблиц. Проверьте это, если вы предпочитаете больше организации.
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 с другими конфигурациями ESLint, например, eslint-config-airbnb
путем отключения правил, связанных с форматированием, которые могут конфликтовать с Prettier. С этой конфигурацией вам не нужно использовать, prettier-eslint
поскольку ESLint не будет жаловаться после того, как Prettier отформатирует ваш код. Однако вам нужно будет запустить prettier
команду отдельно.
Надеюсь, это суммирует различия.
Обновление: рекомендуется, чтобы Prettier обрабатывал форматирование, а ESLint для проблем, prettier-eslint
не связанных с форматированием, не в том же направлении, что и эта практика, поэтому prettier-eslint
больше не рекомендуется. Можно использовать eslint-plugin-prettier
и eslint-config-prettier
вместе.
eslint-config-prettier
, зачем нам бегать красивее? Разве неeslint --fix
форматировал бы код так же красиво?