Nuxt3初探(三)——vue-router的流放之路
2024-02-14 07:01:45
引言
昨天初始化了一个 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 来导航到不同的页面。