Nuxt3 中文课程《实战全栈开发简书》限时优惠

插件

现在插件的格式有所不同,只需要一个参数(nuxtApp)。

export default (ctx, inject) => {
  inject('injected', () => 'my injected function')
})
Read more in Docs > Guide > Directory Structure > Plugins.
了解有关 nuxtApp 格式的更多信息。

迁移

  1. 将你的插件迁移到使用 defineNuxtPlugin 辅助函数。
  2. 移除 nuxt.config 插件数组中位于 plugins/ 文件夹中的任何条目。该目录中的所有文件(以及任何子目录中的索引文件)将自动注册。你可以在文件名中指示它在客户端还是服务器端运行,而不需要设置 mode。例如,~/plugins/my-plugin.client.ts 只会在客户端加载。

路由中间件

路由中间件的格式有所不同。

export default function ({ store, redirect }) {
  // 如果用户未经过身份验证
  if (!store.state.authenticated) {
    return redirect('/login')
  }
}

与 Nuxt 2 类似,位于 ~/middleware 文件夹中的路由中间件将自动注册。然后,你可以在组件中通过名称指定它。但是,这是通过 definePageMeta 而不是组件选项来完成的。

navigateTo 是一系列路由辅助函数之一。

Read more in Docs > Guide > Directory Structure > Middleware.

迁移

  1. 将你的路由中间件迁移到使用 defineNuxtRouteMiddleware 辅助函数。
  2. 任何全局中间件(例如在 nuxt.config 中的中间件)都可以放置在 ~/middleware 文件夹中,并使用 .global 扩展名,例如 ~/middleware/auth.global.ts