服务端渲染总结
1. 服务端渲染2个优点 和 缺点
1.1 服务端渲染可以减少白屏时间
服务端渲染,客户端接收到html,可以直接显示
客户端渲染,客户端接收到html,解析完毕,还要向服务端去请求js文件,返回后,执行完js,才能显示完成
因此,服务端渲染,白屏时间短。
1.2 服务端渲染利于SEO
有清晰的html结构,而不是后来用js插入的结构,利于爬虫爬取有效信息。
1.3 服务端渲染缺点
1. 增加了服务端的资源消耗和维护成本
2. 不利于前后端分离,需要前端来维护一个模板层
2. 常见框架的服务端渲染
2.1. react服务端渲染
1. 只有componentWillMount和render会在服务端调用,其他周期均在客户端调用
2. react服务端渲染API的区别
renderToString 渲染出来的dom带有data-reactid属性,如此,客户端react.js就可以认识服务端渲染好的内容,
不会重新渲染DOM,继续执行后面的生命周期和事件绑定等服务端不能完成的任务。
renderToStaticMarkup 渲染出来的dom不带有data-reactid属性,可以节省一点流量。但是客户端的react.js不能认识
服务端渲染好的内容,会抹掉之前服务端渲染的页面,重新渲染dom,可能会造成页面闪动。客户端
render方法会用innerHTML重写挂载点内的内容
2.2. vue服务端渲染
1. 只有 beforeCreate 和 created 会在服务端调用。其他周期均只能在客户端调用