Nuxt.js服务端渲染

Nuxt.js服务端渲染
什么是Nuxt.js
Vue服务端渲染官网
Nuxt.js官网

Nuxt.js是一个基于Vue.js的通用应用框架

Nuxt初体验
在这里插入图片描述

文件结构分析
在这里插入图片描述
页面和路由

  1. 基本路由
    Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。
    假设 pages 的目录结构如下

└─pages├─index.vue└─user├─index.vue├─one.vue12345
那么,Nuxt.js 自动生成的路由配置如下:

在这里插入图片描述
2. 页面跳转
1> 跳转user页面
nuxt-link与router-link的作用一样,都能用来做路由跳转
2> this. r o u t e r . p u s h ( n a m e : ′ u s e r ′ ) / / n u x t 的 n a m e 指 的 是 p a g e s 下 面 的 文 件 夹 名 称 t h i s . router.push({name: 'user'}) // nuxt的name指的是pages下面的文件夹名称 this. router.push(name:user)//nuxtnamepagesthis.router.push({path: ‘/user’}) // 原方法
注意: 跳转 使用a标签也可以到user页面,但是相当于重新刷新页面

  1. 动态路由
    在 Nuxt.js 里面定义带参数的动态路由,需要创建对应的以下划线作为前缀的 Vue 文件 或 目录。
    在详情页,获取动态参数{{$route.params.id}}

4.路由参数校验
Nuxt.js可以让你在动态路由对应的页面组件中配置一个validate方法用于校验路由参数的有效性.
该参数有一个布尔类型的返回值,如果返回true则表示验证通过,如果返回false则表示校验位通过.

在这里插入图片描述
5. 嵌套路由
1> 新建一个VUE文件,作为父组件
2> 添加一个与父组件同名的文件夹来存放子视图组件
3> 在父文件中,添加组件,用于展示匹配到的子视图
// 用于存放嵌套的子组件

创建layouts
在layouts文件夹下新建一个layout组件,例如teacher.vue,并在这个组件中添加,这样所有的和teacher相关的页面都会有公共的layout
给需要用到teacher.vue的组件添加layout属性,并指定需要使用的layout,例如: layout: “teacher”
创建特殊layout: 在layouts文件夹下面新建error.vue,error是关键字 当找不到页面就会显示error.vue内容
layout中也能使用组件: 在components文件夹下面新建一个Header.vue组件
引入组件,注意路径的~符号,表示根目录
异步数据
Nuxt.js 扩展了 Vue.js,增加了一个叫 asyncData 的方法,使得我们可以在设置组件的数据之前能异步获取或处理数据。asyncData方法会在组件(限于页面组件)每次加载之前被调用。它可以在服务端或路由更新之前被调用。所以需要注意这个函数中不能使用this

注意:常规写法如果在created钩子中写异步,是在客户端渲染的而不是在服务端

使用方法:asyncData(context, callback) {callback(null, data)}

context.route.params.xxx获取参数

callback(new Error(), data)渲染出错的页面

注意:这个方法在服务器端执行和在客户端执行的区别

样式配置
nuxt.config.js中设置设置全局样式文件路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值