Для интеграции Vuetify в современный проект на JavaScript часто используют сборщик Vite благодаря его высокой скорости и простоте конфигурации. Ниже приведён пошаговый процесс настройки Vuetify с Vite, включая установку зависимостей, настройку плагинов и интеграцию стилей.
npm create vite@latest my-vuetify-app
cd my-vuetify-app
npm install
Для корректной работы Vuetify необходимы следующие пакеты:
npm install vuetify@latest sass sass-loader@latest
Если используется TypeScript, рекомендуется дополнительно установить типы:
npm install -D @types/node
Vuetify требует использования плагина vite-plugin-vuetify, который позволяет корректно импортировать компоненты и стили.
npm install vite-plugin-vuetify
vite.config.js подключить плагин:import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vuetify from 'vite-plugin-vuetify'
export default defineConfig({
plugins: [
vue(),
vuetify({ autoImport: true }),
],
})
autoImport: true позволяет автоматически
импортировать все компоненты Vuetify, что облегчает разработку.Создать файл src/plugins/vuetify.js для централизованной
инициализации Vuetify:
import 'vuetify/styles'
import { createVuetify } from 'vuetify'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'
export default createVuetify({
components,
directives,
})
vuetify/styles подключает базовые стили
библиотеки.components и directives регистрируют все
компоненты и директивы.В src/main.js подключить Vuetify к приложению Vue:
import { createApp } from 'vue'
import App from './App.vue'
import vuetify from './plugins/vuetify'
const app = createApp(App)
app.use(vuetify)
app.mount('#app')
Vuetify поддерживает светлые и тёмные темы, а также их кастомизацию:
import { createVuetify } from 'vuetify'
import * as components from 'vuetify/components'
import * as directives from 'vuetify/directives'
const myCustomTheme = {
dark: false,
colors: {
primary: '#1976D2',
secondary: '#424242',
accent: '#82B1FF',
error: '#FF5252',
info: '#2196F3',
success: '#4CAF50',
warning: '#FFC107',
},
}
export default createVuetify({
components,
directives,
theme: {
defaultTheme: 'myCustomTheme',
themes: {
myCustomTheme,
},
},
})
theme.global.name.Vuetify использует систему SASS-переменных, что позволяет полностью кастомизировать внешний вид:
// src/styles/variables.scss
$material-light: (
'primary': #1976D2,
'secondary': #424242,
'accent': #82B1FF,
);
Импорт переменных в проекте:
import 'vuetify/styles'
import './styles/variables.scss'
Это обеспечивает совместимость с системой тем Vuetify и позволяет менять цвета и отступы глобально.
my-vuetify-app/
├─ src/
│ ├─ plugins/
│ │ └─ vuetify.js
│ ├─ styles/
│ │ └─ variables.scss
│ ├─ App.vue
│ └─ main.js
├─ vite.config.js
├─ package.json
└─ node_modules/
plugins/vuetify.js – инициализация Vuetify.styles/variables.scss – глобальные переменные SASS для
темизации.vite.config.js – конфигурация Vite с подключением
плагина Vuetify.Запустить локальный сервер разработки:
npm run dev
В браузере по адресу http://localhost:5173 появится
базовое Vue-приложение с подключённым Vuetify, готовое к использованию
компонентов и кастомизации темы.
Vuetify через Vite обеспечивает лёгкую интеграцию, быструю сборку и гибкую настройку тем, что делает его оптимальным решением для современных Vue-проектов.