当前位置: 首页 > news >正文

nuxt学习笔记

官方文档

  • nuxt英文文档
  • nuxt中文文档

项目创建

安装

npx create-nuxt-app@2.15.0 my-nuxt-app

选择渲染模式 - Universal (SSR / SSG)

开发

npm run dev

打包与启动

npm run build
npm run start

nuxt生命周期

  • nuxtServerInit
    在store中,用于初始化数据

  • middleware
    中间件执行流程顺序:
    nuxt.config.js->匹配布局->匹配页面

  • validate
    参数校验、校验失败,则自动跳转到404 error页面

  • asyncData,fetch
    异步数据获取,数据在页面渲染前获取,数据获取失败,则自动跳转到404 error页面

  • beforeCreate,created
    在ssr和csr中,都会执行

  • vue的生命周期钩子函数

路由

约定式

  • 展示区:<nuxt />

  • 声明式跳转:

    <nuxt-link :to="{name:'product-id',params:{id:123},query:{a:1}}">product</nuxt-link>
    
    • name: 路由名称(目录名->其他目录名->文件名)
    • params: 路由参数,key值与文件名(路由参数名)一致
  • 子路由
    目录代表子路由,子路由内部同级的文件,代表是同级路由

  • 展示区的层级控制
    请添加图片描述

  pages/一级展示/二级展示 /index.vue 会在一级展示  /index.vue 空文档 代表有默认页,不会找寻其他 _other-page-详情.vue

这是一个 路由映射表结构,用于展示 URL 路径(PATH)与对应 Vue 组件文件(FILE)的关联关系,常见于 Vue 路由配置场景(如 Vue Router),核心逻辑是:

1. 静态路径匹配
  • / 路径 → 对应根目录下的 index.vue,一般是应用首页组件
  • /goods 路径 → 对应 goods 目录下的 index.vue,通常是商品列表页等一级路由
2. 动态路由匹配
  • /goods/123 路径 → 对应 goods/_id.vue_id动态路由参数(如商品 ID),可通过 $route.params.id 在组件内获取 123 这类实际参数值
3. 嵌套/子路由匹配
  • /goods/comment 路径 → 对应 goods/comment.vue,作为 /goods 路径的子路由,可在 goods/index.vue 中用 <router-view> 渲染该评论组件

简单说,就是 URL 路径规则 → Vue 组件文件 的映射关系表,帮你理解前端路由如何根据不同 URL 渲染对应页面。

扩展路由

  • nuxt.config.js->router->extendRoutes
router: {extendRoutes(routes, resolve) {routes.push({name: 'custom',path: '/custom',component: resolve(__dirname, 'pages/custom.vue')})}
}

路由守卫

前置

依赖中间件middleware或者是插件
中间件middleware执行顺序:
nuxt.config.js(middleware目录下)->匹配布局layouts(定义中间件)->匹配页面(页面级别中间件)
使用插件前置路由守卫:nuxt.config.js->plugins->router->beforeEach
使用插件后置路由守卫:nuxt.config.js->plugins->router->afterEach

后置

使用vue的beforeRouteLeave钩子函数
使用插件后置路由守卫:nuxt.config.js->plugins->router->afterEach

数据交互

安装nuxt集成的axios

npm install @nuxtjs/axios@5.9.7 @nuxtjs/proxy@1.3.3 --save

如何在nuxt项目中使用axios进行网络请求?

loading页配置与定制

  • nuxt.config.js->loading配置loading颜色、loading组件、loading显示时间、loading显示位置等

vuex定义与使用

如何在nuxt项目中使用vuex?

状态持久化与token校验

  • 安装:cookie-universal-nuxt
  • 思想:登录时,同步vuex && cookie,强制刷新后,nuxtserverInit钩子,取出cookies,同步vuex,axios拦截器读取vuex中的token,进行token校验
  • 如何在nuxt项目中使用cookie-universal-nuxt进行状态持久化和token校验?

如何在nuxt项目中使用scss

如何在nuxt项目中进行meta信息注入

如何在nuxt项目中自定义模板

http://www.xdnf.cn/news/1248031.html

相关文章:

  • 什么是mysql的垂直分表,理论依据是什么,如何使用?
  • LeetCode 刷题【31. 下一个排列】
  • Apache OFBiz Scrum 组件命令注入漏洞
  • 力扣148:排序链表
  • 不可变集合
  • 笔记学习杂记
  • nordic通过j-link rtt viewer打印日志
  • Linux网络编程:TCP初体验
  • 永磁同步电机的矢量控制
  • Python包安全工程实践:构建安全可靠的Python生态系统
  • Redis类型之String
  • Python深度学习:从入门到进阶
  • ELK是什么
  • 分布式微服务--Nacos持久化
  • linux定时器管理 timer_*系统调用及示例
  • 每日五个pyecharts可视化图表-bars(4)
  • 系统设计入门:成为更优秀的工程师
  • iptables 里INPUT、OUTPUT、FORWARD 三个链(Chain)详解
  • MATLAB实现的机载合成孔径雷达回波生成和处理
  • zyh贪心类题目补题报告
  • 灰色优选模型及算法MATLAB代码
  • GoLand 项目从 0 到 1:第五天 —— 角色权限中间件实现与事务控制
  • 三极管三种基本放大电路:共射、共集、共基放大电路
  • 使用公众号的消息模板给关注用户发消息
  • Pycaita二次开发基础代码解析:参数化模板创建与设计表驱动建模
  • RHCA03--硬件监控及内核模块调优
  • MCP与Function Calling
  • SAP FI模块凭证增强逻辑的策略
  • C++ string类
  • NLP自然语言处理 02 RNN及其变体