您现在可以迁移到 Nuxt 3 插件 API,其格式与 Nuxt 2 略有不同。
插件现在只接受一个参数(nuxtApp)。您可以在文档中了解更多信息。
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.provide('injected', () => 'my injected function')
// now available on `nuxtApp.$injected`
})
nuxtApp.vueApp 提供兼容接口,但您应该避免以这种方式注册插件、指令、混入或组件,除非您添加自己的逻辑以确保它们只安装一次,否则可能会导致内存泄漏。您现在可以迁移到 Nuxt 3 中间件 API,其格式与 Nuxt 2 略有不同。
中间件现在只接受两个参数(to,from)。您可以在文档中了解更多信息。
export default defineNuxtRouteMiddleware((to) => {
if (to.path !== '/') {
return navigateTo('/')
}
})
app/middleware 目录之外不支持使用 defineNuxtRouteMiddleware。您还可以在 Nuxt Bridge 中使用 definePageMeta。
您可以通过配置文件中的 macros.pageMeta 选项启用此功能
import { defineNuxtConfig } from '@nuxt/bridge'
export default defineNuxtConfig({
bridge: {
macros: {
pageMeta: true,
},
},
})
middleware 和 layout。