Skip to content

Плагин Vue и модуль Nuxt

Плагин Vue

ts
import { VueToastPlugin } from 'vue-toast-kit'
import 'vue-toast-kit/style'

app.use(VueToastPlugin, {
  position: 'bottom-right',
  maxVisible: 5,
  duration: 4000,
  theme: 'system',
  closable: true,
  pauseOnHover: true,
  pauseOnFocusLoss: true,
  registerComponent: true, // авто-регистрация <ToastContainer> глобально
})

VueToastPluginOptions

ОпцияТипПо умолчаниюОписание
positionToastPosition'bottom-right'Позиция контейнера по умолчанию
maxVisiblenumber5Максимум видимых тостов по умолчанию
durationnumber4000Длительность авто-закрытия по умолчанию в мс
theme'light' | 'dark' | 'system'Тема по умолчанию для всех контейнеров
closablebooleantrueПоказывать кнопку закрытия по умолчанию
pauseOnHoverbooleantrueПауза при наведении по умолчанию
pauseOnFocusLossbooleantrueПауза при уходе вкладки в фон по умолчанию
ignoreSSRbooleanfalseОтключить SSR-буферизацию
registerComponentbooleantrueГлобально регистрировать <ToastContainer>
rateLimitnumberМаксимум тостов в пределах rateLimitWindowMs; лишние тихо отбрасываются
rateLimitWindowMsnumber1000Окно в мс для ограничения частоты
persistStoragebooleanfalseВключить сохранение/восстановление в localStorage для тостов с persist: true

Модуль Nuxt

ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['vue-toast-kit/nuxt'],

  vueToastKit: {
    position: 'bottom-right',
    maxVisible: 5,
    duration: 4000,
    theme: 'system',
    closable: true,
    pauseOnHover: true,
    pauseOnFocusLoss: true,
    registerComponent: true,
  },
})

Модуль автоматически:

  • Добавляет плагин Vue на клиенте
  • Авто-импортирует useToast, useToastState, createToastContext и синглтон toast — явный импорт не нужен
  • Авто-импортирует <ToastContainer> как глобальный компонент (когда registerComponent: true)
  • Внедряет vue-toast-kit/style.css в CSS-пайплайн Nuxt

CSS загружается автоматически — ручной импорт vue-toast-kit/style в Nuxt не требуется.