浅析vue的服务端渲染

1首屏和白屏的区别

浅析vue的服务端渲染
浅析vue的服务端渲染

2 SSR和预渲染
3 防止数据交叉感染(采用工厂模式)
4 在服务端上,不需要转化为响应式对象(节省开销)
5 由于是没有动态更新的,所以在服务端中只会调用beforeCreate和created生命周期。其他的生命周期只在客户端执行
6 “通用代码中”,在服务端不接受window或document这种浏览器变量
7 我们为了防止数据污染,应该避免单例模式,而是暴露一个工厂函数,当每次请求的时候,我们都调用工厂函数来创建一个实例
8 打包会生成“服务端bundle”和“客户端bundle”。
浅析vue的服务端渲染

9 路由,也是使用工厂模式,每个都调用工厂函数生成实例,并注入到vue中。new Vue({router})
10 需要使用vuex存储我们取到的数据。服务端拿到的数据预存到vuex中,可以给客户端使用,保证数据一致性。
11 客户端取数据在路由导航之前解析数据,使用asyncData来实现
12 使用mixin来实现取数据
13 所谓的客户端**,是指在第一次服务端返回静态的html页面之后,再向服务端请求js文件。使客户端有了js之后,可以对dom进行操作,数据响应,成为了动态的页面。
14 <div id="app" data-server-rendered="true">
会对服务端渲染的结果进行标记,表示这是由服务端渲染的,应该使用**的方式进行操作。