Плагины и Middleware
Узнайте, как мигрировать плагины и middleware с Nuxt 2 на Nuxt 3.
Плагины
Плагины теперь имеют другой формат и принимают только один аргумент (nuxtApp).
export default (ctx, inject) => {
inject('injected', () => 'моя внедряемая функция')
})
Миграция
- Мигрируйте свои плагины, используя вспомогательную функцию
defineNuxtPlugin. - Удалите любые записи в массиве
pluginsвашегоnuxt.config, которые расположены в директорииplugins/. Все файлы в этой директории на верхнем уровне (и любые индексные файлы в любых поддиректориях) будут автоматически зарегистрированы. Вместо установкиmodeвclientилиserver, вы можете указать это в имени файла. Например,~/plugins/my-plugin.client.tsбудет загружен только на клиенте.
Route Middleware
Middleware для маршрутов имеет другой формат.
export default function ({ store, redirect }) {
// Если пользователь не авторизован
if (!store.state.authenticated) {
return redirect('/login')
}
}
Подобно Nuxt 2, middleware для маршрутов, размещенное в вашей папке ~/middleware, регистрируется автоматически. Затем вы можете указать его по имени в компоненте. Однако, это делается с помощью definePageMeta, а не как опция компонента.
navigateTo - это одна из нескольких вспомогательных функций для маршрутов.
Миграция
- Перенесите свою middleware для маршрутов, используя вспомогательную функцию
defineNuxtRouteMiddleware. - Любая глобальная middleware (например, в вашем
nuxt.config) можно разместить в вашей папке~/middlewareс расширением.global, например~/middleware/auth.global.ts.