Для интеграции Vuetify в проект на Vue.js рекомендуется использовать Vue CLI, так как этот инструмент обеспечивает автоматическую настройку зависимостей, конфигурации Webpack и интеграцию с компонентами Vuetify. Ниже рассматривается пошаговый процесс установки и первоначальной настройки.
Для начала необходимо создать новый проект с помощью Vue CLI. Используется команда:
vue create my-vuetify-app
При запуске команды появляется интерактивное меню, где выбираются параметры проекта:
После завершения генерации проекта переходим в директорию проекта:
cd my-vuetify-app
Vuetify можно добавить через встроенный плагин Vue CLI. Используется команда:
vue add vuetify
После её запуска появится меню конфигурации, где можно выбрать один из двух вариантов:
Пример выбора стандартной конфигурации обеспечивает минимальные усилия для начала работы с библиотекой и сразу подключает основные стили и шрифты.
После добавления плагина проект приобретает следующие ключевые изменения:
main.js или main.ts подключается
Vuetify:import { createApp } from 'vue'
import App from './App.vue'
import vuetify from './plugins/vuetify' // подключение Vuetify
import { loadFonts } from './plugins/webfontloader'
loadFonts()
createApp(App)
.use(vuetify)
.mount('#app')
plugins/vuetify.js:import 'vuetify/styles'
import { createVuetify } from 'vuetify'
import { aliases, mdi } from 'vuetify/iconsets/mdi'
export default createVuetify({
icons: {
defaultSet: 'mdi',
aliases,
sets: {
mdi,
},
},
theme: {
defaultTheme: 'light',
},
})
В этом файле задаются:
VDatePicker, VDialog и другие).После завершения установки можно запустить проект командой:
npm run serve
Или с использованием Yarn:
yarn serve
При успешной интеграции открывшийся локальный сервер будет отображать
стандартную страницу Vuetify с приветственным компонентом
v-app, кнопками и базовой сеткой.
Vuetify позволяет гибко настраивать темы через объект
theme в createVuetify. Пример кастомной
темы:
const myCustomTheme = {
dark: false,
colors: {
primary: '#1976D2',
secondary: '#424242',
accent: '#82B1FF',
error: '#FF5252',
info: '#2196F3',
success: '#4CAF50',
warning: '#FFC107',
},
}
export default createVuetify({
theme: {
defaultTheme: 'myCustomTheme',
themes: {
myCustomTheme,
},
},
})
Эта конфигурация задаёт пользовательскую палитру цветов, которая применяется ко всем компонентам Vuetify.
Vuetify использует Material Design Icons (MDI) и
шрифты Google по умолчанию. Для глобального подключения используется
функция loadFonts в
plugins/webfontloader.js:
import WebFont from 'webfontloader'
export function loadFonts () {
WebFont.load({
google: {
families: ['Roboto:100,300,400,500,700,900&display=swap'],
},
})
}
Эта настройка обеспечивает корректное отображение текстов и иконок по всему приложению.
Vuetify 3 полностью совместим с Vue 3 и использует Composition API. Ключевые моменты:
v-app должен оборачивать все компоненты, чтобы тема и
стили применялись корректно.createVuetify и
app.use(vuetify) обязательно в main.js.v-theme-provider
позволяет динамически переключать интерфейс.Vuetify через Vue CLI обеспечивает быстрый старт, автоматическое подключение стилей, шрифтов и иконок, а также готовую структуру для масштабируемых приложений на Vue.js.