Для начала работы с Element Plus в проекте на Vite необходимо создать новый проект и установить все зависимости. Команда для инициализации проекта:
npm create vite@latest my-element-plus-app
cd my-element-plus-app
npm install
Далее устанавливаются Element Plus и необходимые зависимости:
npm install element-plus
Если используется Vue 3 (что актуально для Vite), можно сразу интегрировать Element Plus глобально или локально в компонентах.
Чтобы использовать все компоненты библиотеки без повторного импорта,
можно настроить глобальную регистрацию в main.js или
main.ts:
import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
В таком случае компоненты Element Plus будут доступны во всех шаблонах без локального импорта.
Преимущества глобальной регистрации:
Недостатки:
Для оптимизации бандла рекомендуется импортировать только используемые компоненты:
import { ElButton, ElDialog } from 'element-plus'
import 'element-plus/dist/index.css'
export default {
components: {
ElButton,
ElDialog
}
}
Такой подход позволяет уменьшить размер сборки и ускорить загрузку страниц.
Для автоматического импорта компонентов можно использовать плагин unplugin-vue-components:
npm install -D unplugin-vue-components
В vite.config.js:
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default {
plugins: [
Components({
resolvers: [ElementPlusResolver()],
}),
],
}
Теперь компоненты Element Plus можно использовать в шаблонах без явного импорта, а Vite автоматически добавит нужные импорты при сборке.
Element Plus поддерживает кастомизацию тем через
SCSS переменные. Для проекта на Vite можно создать файл
element-variables.scss:
$--color-primary: #409eff;
$--font-size-base: 14px;
И импортировать его перед глобальными стилями библиотеки:
import 'element-plus/theme-chalk/src/index.scss'
import './element-variables.scss'
Это позволяет изменять цвета, размеры и другие параметры без редактирования исходных стилей.
Element Plus предоставляет отдельный пакет иконок:
npm install @element-plus/icons-vue
Использование в компоненте:
import { User } from '@element-plus/icons-vue'
export default {
components: {
User
}
}
Иконки могут использоваться напрямую в шаблоне через
<User />.
Для изменения языка интерфейса необходимо подключить локаль:
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import zhCn from 'element-plus/es/locale/lang/zh-cn'
const app = createApp(App)
app.use(ElementPlus, { locale: zhCn })
app.mount('#app')
Поддерживаются различные языки: английский, китайский, японский, испанский и др.
Vite поддерживает Hot Module Replacement (HMR), что позволяет моментально видеть изменения компонентов Element Plus без перезагрузки страницы. Для корректной работы:
<script setup> синтаксис для Vue
3.@use или @import.Для уменьшения размера бандла рекомендуется:
ElButton,
ElTable и т.д.).build.minify = 'esbuild' или 'terser').Element Plus полностью поддерживает TypeScript. Для корректной типизации компонентов:
npm install -D @types/node
tsconfig.json добавить:{
"compilerOptions": {
"types": ["element-plus/global"]
}
}
Vite позволяет быстро собирать проект с Element Plus:
npm run build
Результатом станет оптимизированный бандл, минимизированный CSS и JS, а также подготовленные для деплоя HTML и ассеты. При этом все локальные и глобальные компоненты сохраняют функциональность, включая иконки, локализацию и кастомные темы.
Эти настройки обеспечивают полную интеграцию Element Plus с современным инструментом сборки Vite, включая оптимизацию бандла, поддержку TypeScript и кастомизацию интерфейса.