Для начала необходимо добавить Prettier в проект. Обычно это делается через npm или yarn:
npm install --save-dev prettier
# или
yarn add --dev prettier
После установки создаётся возможность форматировать код автоматически, включая файлы JavaScript, Vue и CSS, используемые с Element Plus.
Prettier поддерживает несколько форматов конфигурации:
.prettierrc, .prettierrc.json,
.prettierrc.js, .prettierrc.yaml,
prettier.config.js. Наиболее универсальным вариантом
считается .prettierrc в формате JSON. Пример базовой
конфигурации для проекта с Element Plus:
{
"semi": true,
"singleQuote": true,
"printWidth": 100,
"tabWidth": 2,
"trailingComma": "es5",
"bracketSpacing": true,
"arrowParens": "always",
"endOfLine": "lf"
}
Ключевые моменты конфигурации:
semi: true — добавление точек с запятой в конце строк
для согласованности с большинством стилей JavaScript и Vue.singleQuote: true — предпочтение одинарных кавычек, что
соответствует стандарту большинства Vue-компонентов Element Plus.printWidth: 100 — ограничение длины строки, чтобы
компоненты Element Plus, такие как el-table или
el-form, не переносились некрасиво.trailingComma: es5 — добавление запятых в объектах и
массивах для упрощения git-диффов.arrowParens: always — всегда ставить скобки у
стрелочных функций, что повышает читаемость кода.В проектах Vue 3 и Element Plus рекомендуется объединять Prettier с ESLint, чтобы избежать конфликтов между линтером и автоформатированием. Для этого устанавливаются дополнительные пакеты:
npm install --save-dev eslint-config-prettier eslint-plugin-prettier
# или
yarn add --dev eslint-config-prettier eslint-plugin-prettier
Конфигурация ESLint (.eslintrc.js) должна содержать:
module.exports = {
root: true,
env: {
node: true
},
extends: [
'plugin:vue/vue3-essential',
'eslint:recommended',
'plugin:prettier/recommended'
],
plugins: ['prettier'],
rules: {
'prettier/prettier': ['error', {
singleQuote: true,
semi: true,
printWidth: 100,
tabWidth: 2,
trailingComma: 'es5',
bracketSpacing: true,
arrowParens: 'always',
endOfLine: 'lf'
}]
}
};
Такой подход гарантирует, что любые нарушения правил форматирования Prettier будут подсвечиваться ESLint, и код компонентов Element Plus всегда будет иметь единообразный стиль.
Для автоматического форматирования при сохранении необходимо:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
.vscode/settings.json в корне проекта для
локальных настроек:{
"editor.formatOnSave": true,
"prettier.requireConfig": true
}
prettier.requireConfig: true обеспечивает использование
только локальной конфигурации Prettier, что предотвращает конфликт со
глобальными настройками.
Некоторые компоненты Element Plus содержат длинные разметки с большим
количеством атрибутов, например el-table или
el-form. Для них рекомендуется:
Пример:
<el-button
type="primary"
size="medium"
:loading="isLoading"
@click="handleClick"
>
Сохранить
</el-button>
Prettier автоматически соблюдает такой стиль при включённых
printWidth и tabWidth.
Иногда нужно исключить автоформатирование для определённых директорий
или файлов. Для этого создаётся .prettierignore:
node_modules/
dist/
*.min.js
Это предотвращает ненужное форматирование сторонних библиотек и скомпилированных файлов.
Для удобного использования Prettier можно добавить npm-скрипты:
{
"scripts": {
"format": "prettier --write \"src/**/*.{js,vue,css,scss}\"",
"format:check": "prettier --check \"src/**/*.{js,vue,css,scss}\""
}
}
format — автоматически форматирует все исходные
файлы.format:check — проверяет, соответствует ли код
конфигурации Prettier без внесения изменений.semi: true и singleQuote: true для сохранения
консистентного синтаксиса.printWidth в диапазоне 100–120 обеспечивает удобное
отображение длинных таблиц и форм.trailingComma: es5 упрощает
редактирование массивов и объектов с многочисленными свойствами
компонентов Element Plus.Эта конфигурация обеспечивает единообразное оформление кода, уменьшает количество конфликтов при командной работе и поддерживает чистый, читаемый код для крупных проектов с Element Plus.