РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnuSpPlInr 28 of 90 menu
◀ ▶

Введение в плагины в Nuxt

Страницы в app/pages отвечают за конкретный адрес и разметку под него. Макеты в app/layouts оборачивают несколько экранов общей шапкой или подвалом. Есть и задачи, которые не привязаны к одному роуту: подключить общую настройку, зарегистировать вспомогательную функцию для всего сайта, подготовить значение до того, как пользователь увидит первую страницу.

В Nuxt для такой одноразовой подготовки служат плагины. Это обычные файлы JavaScript в папке app/plugins. Каждый из них выполняется в момент создания приложения: до того, как заработает навигация и отрисуется первая страница из NuxtPage. Логика плагина не повторяется при каждом переходе между адресами - она отрабатывает на старте и оставляет результат доступным дальше.

Типичные сценарии: общий клиент для API, инициализация счётчика аналитики только в браузере, метка времени с сервера для подписи в HTML, регистрация функций, которые страницы будут вызывать через единую точку доступа к приложению. Плагин не заменяет страницу и не дублирует функцию состояния - он настраивает среду, в которой страницы и компоненты уже работают.

Файл плагина экспортирует функцию, обёрнутую в defineNuxtPlugin. Nuxt сам находит все файлы в app/plugins и подключает их без отдельной регистрации в nuxt.config.ts. Скелет выглядит так:

export default defineNuxtPlugin(() => { });

Код внутри колбэка может обращаться к объекту приложения, вешать хуки, возвращать объект с полем provide и тем самым отдавать страницам готовые функции или строки. Часть плагинов должна выполняться только в браузере или только на сервере - для этого в имени файла используют суффиксы .client и .server, чтобы Nuxt не запускал модуль на «чужой» стороне.

В высшем учебнике мы остаёмся на JavaScript и структуре Nuxt 4 с корнем app/app.vue. Примеры плагинов не тянут сторонние библиотеки: достаточно встроенного defineNuxtPlugin, функции useNuxtApp на страницах и привычных файлов в app/pages. Такой слой удобно держать рядом с функциями из app/composables: функция описывает переиспользуемую логику состояния, плагин один раз готовит окружение для всего приложения.

Если представить запуск сайта как цепочку, плагины стоят в начале: сервер или браузер создаёт экземпляр Nuxt, прогоняет файлы из app/plugins, и только затем монтируется дерево с NuxtLayout и страницами. Благодаря этому общие вещи не размазаны по десятку script setup блоков, а собраны в явных точках входа, которые легко найти по имени файла в каталоге плагинов.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить