【Vue】浅析Nuxt框架

公司的官网用了nuxt来进行服务端渲染(ssr),于是来篇文章来简单介绍下nuxt。
nuxt是基于Vue的服务端渲染框架,正如官网说的,框架最关心的是UI渲染。

1.ssr原理

以前浏览器获取数据都是后端渲染,就是浏览器请求后,后端通过处理渲染最终的.html文件给浏览器。随着js和ajax的兴起,前端渲染增多。Node的出现,可以将渲染工作放在node服务端,服务端直接将html字符串返回给浏览器。
服务端的渲染主要有利于SEO和首屏渲染快两大好处。

2.Nuxt的使用

首先,先全局安装好create-nuxt-app
npm install -g create-nuxt-app
然后新建一个nuxt项目
create-nuxt-app <项目名称>
安装好官网的脚手架,我们就可以愉快的进行nuxt开发了!

layouts文件夹中可以添加我们整个项目的布局,我的实际项目中头部和根部是通用的,通过布局可以快速实现组件的复用。

<template>
  <div id="app">
    <Header />
      <nuxt />
    <Footer />
  </div>
</template>

components文件夹跟vue项目中的一样,我们可以在里面创建我们需要的组件。
store文件夹就是vuex了,这里保存了我们所需要的状态。
pages是我们项目页面部分,也是我们开发项目的重点。对于一个页面,异步获取数据我们使用asyncData这个API,它在路由跳转前会请求处理好我们需要的数据,一开始不会用,发现数据展示不出来,它有两种用法:

aysnc aysncData() {
	let link = await axios.get('/getLink');
	return {
		data: link.data
	}
}
// ES6的async、await语法,返回一个对象
aysncData() {
	return axios.get('/getLink').then(res => {
		return { data: res.data };
	})
}
// 返回一个promise

我们常用第一种方法,代码更加直观简介。
请求好数据后,就会渲染到我们的html模板上,实现数据的更新。
还有很多配置项,我们可以根据官网和需求进行配置。

猜你喜欢

转载自blog.csdn.net/jzq950522/article/details/88382162