Плагин 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
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
position | ToastPosition | 'bottom-right' | Позиция контейнера по умолчанию |
maxVisible | number | 5 | Максимум видимых тостов по умолчанию |
duration | number | 4000 | Длительность авто-закрытия по умолчанию в мс |
theme | 'light' | 'dark' | 'system' | — | Тема по умолчанию для всех контейнеров |
closable | boolean | true | Показывать кнопку закрытия по умолчанию |
pauseOnHover | boolean | true | Пауза при наведении по умолчанию |
pauseOnFocusLoss | boolean | true | Пауза при уходе вкладки в фон по умолчанию |
ignoreSSR | boolean | false | Отключить SSR-буферизацию |
registerComponent | boolean | true | Глобально регистрировать <ToastContainer> |
rateLimit | number | — | Максимум тостов в пределах rateLimitWindowMs; лишние тихо отбрасываются |
rateLimitWindowMs | number | 1000 | Окно в мс для ограничения частоты |
persistStorage | boolean | false | Включить сохранение/восстановление в 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 не требуется.