返回

Nuxt3初探(三)——vue-router的流放之路

前端

引言

昨天初始化了一个 Nuxt3 项目,一打开项目发现 Nuxt3 的脚手架可以说是很苗条了。从命令行搭建到项目的目录结构一切都很简洁,索性前人栽树后人乘凉,遇事不觉先 B 站刷波视频。

vue-router 的流放之路

在 Nuxt2 中,我们使用 vue-router 来管理路由。这是一个非常流行的前端路由库,可以帮助我们轻松地构建单页应用。然而,在 Nuxt3 中,vue-router 已经不复存在了。

这并不是 Nuxt 团队的鲁莽决定。实际上,这是有几个原因的。首先,vue-router 与 Nuxt3 的新架构不兼容。Nuxt3 是基于 Vite 构建的,而 Vite 并不支持 vue-router。其次,vue-router 已经不再维护了。它的最后一个版本发布于 2021 年 12 月,并且没有任何迹象表明它会很快更新。

那么,在 Nuxt3 中我们应该使用什么来管理路由呢?答案是:unrouted。

unrouted 是一个新的路由库,它是专为 Nuxt3 设计的。它与 Nuxt3 的新架构完全兼容,并且它还在积极维护中。

unrouted 的使用

使用 unrouted 来管理路由非常简单。首先,我们需要在我们的 Nuxt3 项目中安装 unrouted:

npm install @unrouted/nuxt

然后,我们需要在我们的 nuxt.config.ts 文件中配置 unrouted:

export default {
  modules: [
    '@unrouted/nuxt'
  ],
  router: {
    // 这里是我们定义的路由表
  }
}

最后,我们需要在我们的组件中使用 unrouted 来导航到不同的页面。我们可以使用 useRouter() hook 来获取路由对象,然后使用 router.push()router.replace() 方法来导航到不同的页面。

import { useRouter } from 'unrouted';

export default {
  setup() {
    const router = useRouter();

    return {
      // 这里是我们定义的导航逻辑
    }
  }
}

结语

Nuxt3 中,vue-router 已经不复存在了。取而代之的是 unrouted,这是一个新的路由库,它是专为 Nuxt3 设计的。使用 unrouted 来管理路由非常简单,只需要在我们的 Nuxt3 项目中安装 unrouted,然后在我们的 nuxt.config.ts 文件中配置 unrouted,最后在我们的组件中使用 unrouted 来导航到不同的页面。