Prettierявляется проницательным инструментом форматирования кода. Он обеспечивает согласованный стиль, анализируя код и перепечатывая его по собственным правилам, принимая во внимание максимальную длину строки и при необходимости оборачивая код. Сегодня это универсальное решение для всех проблем с форматированием кода; поддержкаJavaScript
,Flow
,TypeScript
,CSS
,SCSS
,Less
,JSX
,Vue
,GraphQL
,JSON
,Markdown
Вы можете комбинировать ESLint и Prettier, чтобы обнаруживать потенциальные проблемы в коде, и в то же время унифицировать стиль кода команды, чтобы способствовать написанию качественного кода и повысить эффективность работы.
beautify-vue-by-eslint-and-prettier
Примечание, эта статья была впервые опубликована с использованием
Vuepress
Создано новое веб-приложение:Сад Цзинцинсюань; если вам интересно, вы можете проверить это:Украсьте код Vue с помощью ESLint и Prettier.
Инициализировать питч проекта Vue
С точки зрения форматирования кода Prettier действительно пересекается с ESLint, но у них разные цели: основная задача ESLint — проверять качество кода и давать подсказки, и он может предоставлять очень ограниченные функции форматирования, но имеет большие преимущества. А Prettier спроектирован так, чтобы его можно было легко интегрировать с ESLint, поэтому вы можете легко использовать оба в своем проекте, не беспокоясь о конфликтах. В этой статье обсуждается, как использовать ESLint и Prettier для форматирования и улучшения кода Vue; если вы используете другие типы фреймворков, большая часть этого опыта остается применимой.
как вГотовые шаблоны скаффолдинга Vue WebpackВыступает:vue-cli3
В этом выпуске он объединяет более богатые функции и больше конфигураций по умолчанию для создания, разработки и управления проектами с помощью включенного графического интерфейса... и он выпущенRC
версия, основной функционал готов,API
стал стабильным, поэтому рекомендуется использоватьvue-cli3
для создания вашего проекта; вы просто запускаетеvue create my-project
команду, а затем следуйте инструкциям для выбора; ради устойчивости вашего проекта,ESlint
ваш необходимый вариант. Если вы это сделаете, вы можетеpackage.jsonсерединаeslintConfig
в свойствах найтиESLint
конфигурации; затем просто добавьтеPrettier
а такжеESLint
Просто интегрируйте.
Интегрированный ESLint и Prettier
Для их интеграции можно использовать плагины;eslint-plugin-prettierпредоставляет «рекомендуемую» конфигурацию, котораяplugin:prettier/recommended
добавить вextends
субсобственностьplugin:vue/essential
После этого с настройками по умолчанию вESLint
включить паруPrettier
служба поддержки:
"eslintConfig": {
"root": true,
"extends": [
"plugin:vue/essential",
"plugin:prettier/recommended",
"eslint:recommended"
]
},
Конечно, вам также необходимо установить зависимые библиотеки: eslint-plugin-prettier и eslint-config-prettier (функция этой зависимости будет описана ниже), подробнее см. в документации Prettier:Integrating with ESLint .
yarn add --dev eslint-plugin-prettier eslint-config-prettier prettier-eslint-cli
Что здесь нужно добавить, так это то, чтоeslint-plugin-prettier
По принципу работы он сравнивает код до форматирования и после форматирования с Prettier, если есть какое-то несоответствие, то сообщит об ошибке, мы можем использовать некоторые инструменты для ее исправления, такие как:eslint --fix
,prettier-eslint-cli; для удобства его можно настроить в пакетных скриптах:
{
"scripts": {
"eslint-fix": "eslint src/**/**/*.vue --fix",
"format-code": "prettier-eslint --write \"src/**/*.js\" \"src/**/*.vue\""
}
}
beautify-vue-by-eslint-and-prettier
Изменить конфигурацию правила
Что вам нужно знать, так это то, что когда они смешиваются, правила должны быть изменены, чтобы предотвратить дублирование или конфликт;eslint-config-prettier
То есть, чтобы решить наличие этой проблемы, вы можете использовать его для отключения всех правил, которые могут вызывать конфликты.
"rules": {
"prettier/prettier": "error"
}
На самом деле, при такой настройке в проекте могут быть какие-то "странные" ошибки, которые не решить даже с вышеперечисленными исправлениями, и это не та подсказка, которую вы ожидали;
error: Delete ⏎
(prettier/prettier) at src/pages/xxx
На этом этапе вы можете просмотреть и отсортировать правила, а также выбрать подходящие правила; для этого вы можете обратиться кConfiguring Prettier Options & eslint-plugin-prettier#options;В соответствии с личными привычками кодирования существуют следующие конфигурации (доступны наawesome-vue-cli3-exampleПосмотреть исходный код):
"rules": {
"no-console": 0,
"prettier/prettier": [
"error",
{
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": true,
"jsxBracketSameLine": true,
"parser": "flow"
}
]
}
Добавить конфигурацию редактора
Редактор атомов
может быть установленprettier-atom;Atom
Редактор также предложит вам установить дополнительные вспомогательные плагины;
apm install prettier-atom
Он имеет два режима использования:
- Автоматическое форматирование при сохранении (Пакеты → Prettier → Переключить формат при сохранении)
- Вызывается вручную с помощью сочетания клавиш (если не выбрано, форматируется весь файл):
CTRL + ALT + F
Редактор кода VS
Установите плагин:ESlint,Prettier, конфигурация плагина VS Code унифицирована в настройках → настройка → настройка пользователя.
Настройки (ярлык:Command + ,
) для автоматического форматирования при сохранении:
{
"prettier.eslintIntegration": true,
"eslint.autoFixOnSave": true,
"editor.formatOnSave": true
}
Великолепный текстовый редактор
Установите плагин:JsPrettier, который имеет зависимости отPrettier
д., поэтому его необходимо установить глобально:yarn global add prettier
;Добавьте следующие настройки в «Настройки → Настройка», чтобы реализовать автоматическое форматирование при сохранении;
{
"auto_format_on_save": true
}
Конечно, вы также можете настроить сочетания клавиш для форматирования кода по мере необходимости; в пользовательской таблице клавиш «Настройки → Привязка клавиш» обратитесь к следующему примеру для ввода команд (ОС Windows:ctrl + alt + f
):
{ "keys": ["command+alt+f"], "command": "js_prettier" }
Дополнительные сведения о настройках и использовании см.SublimeJsPrettier#Usage.
Отправка кода ограничения Hook перед фиксацией
Выше обсуждается, как использовать ESLint & Prettier для написания высококачественного кода, что является рекомендуемым поведением для отдельных лиц; чтобы обеспечить единый стиль кода для команды, вы должны принять некоторые меры для обеспечения соблюдения ограничений; если ваша команда используетGit
В качестве инструмента управления кодом вcommit
Поведение, предварительная проверка и ограничения — отличный выбор; здесь вы можете использоватьhusky & lint-stagedосознать это.
# install husky & lint-staged
yarn add lint-staged husky --dev
# package.json config
"lint-staged": {
"**/**.{js,json,pcss,md,vue}": [
"prettier --write",
"git add"
]
},
"husky": {
"hooks": {
"pre-commit": "yarn run precommit-msg && lint-staged",
"pre-push": "yarn test"
}
},
Стоит отметить, что в реальном проектеhusky
Вполне вероятно, что по разным причинам он плохо работает, в основном это связано с.git/hooks/pre-commit
не соответствует ожидаемой цели, вы можете изменить ее вручную или принять следующие меры (Примечание: если вашhusky
версия 0.14 и выше):
rm -rf .git/hooks/*
node node_modules/husky/lib/installer/bin install
написано в конце статьи
«Шансе, я хочу с тобой узнать друг друга, и я буду жить вечно. В горах нет могил, и реки иссякли. Зимой гремит гром, летом дожди и снега. Это внезапное древнее стихотворение, на первый взгляд, не имеет к данной статье никакого отношения, но нужно напомнить, что:Чем больше усилий вы приложите к написанию качественного кода, тем меньше времени потратите на отладку.. Если сделать достаточное и адекватное построение рабочего процесса разработки проекта, это может не только значительно повысить качество и скорость написания кода, но и сэкономить время и затраты на отладку и решение проблем, а также избежать неспровоцированного плохого настроения. для дальнейшего повышения эффективности работы этот высококачественный цикл, созданный таким образом, может дать вам больше времени для учебы, метания и вкуса жизни, что, естественно, может включать красивое чтение.古诗词
🐉☺️, так?Если рабочий хочет хорошо работать, он должен сначала заточить свои инструменты., ты учил?
@2018-06-15 в Шэньчжэне, Наньшань Последнее изменение: 2018-06-15
Статьи, которые могут быть вам интересны (/полезны):
- Как красиво писать на Vue
- Скорость оптимизации пакетов Webpack
- Объем оптимизации упаковки Webpack
- Шпаргалка Npm против пряжи
- "Цитата" самая полная коллекция интерфейсных ресурсов
- Учебное пособие по внешним ресурсам для продвижения в ногу со временем
- Вечерний Qingyoucao сказал - примечания к интерфейсу
- Изменения в интерфейсных «позах» (Часть 1)
- Сборник рекомендуемых статей Wall Crack