主题
路由系统
路由渲染
pages 目录下的 .vue 文件会自动注册为路由组件。
另外两个常用的路由组件可类比于 Vue Router:
- 页面路由:
<NuxtPage>-><RouterView>
bash
pages/
user/index.vue // user/
user/[id].vue // user/:id
...路由导航
声明式导航
- 页面跳转:
<NuxtLink>-><RouterLink>
路由跳转属于服务端还是客户端?
- 当通过
<NuxtLink>直接跳转时,此时为客户端渲染。 - 当直接在浏览器地址栏输入路由地址并访问时,此时为服务端渲染。
编程式导航
ts
navigateTo('/about')中间件
可以看作“导航守卫”
middleware 目录中
使用中间件:
ts
definePageMeta({
middleware: [
function (to, from) {
// Custom inline middleware
},
'auth',
],
})命名为 xxx.global.ts 的文件会被自动注册为全局中间件。
bash
-| middleware/
---| analytics.global.ts
---| setup.global.ts
---| auth.ts执行顺序为:
- analytics.global.ts
- setup.global.ts
- Custom inline middleware
- auth.ts
