浏览器渲染模板
- 客户端
- 准备好模板:script标签模板
- 发送ajax异步请求(局部刷新)
- 接收返回的数据(字符串或二进制),要进行序列化(JON.parse),转成对象,若服务端设置了响应头,则无需序列化
- 模板引擎,编译模板并渲染页面:template(‘id’,dataObj);
- 服务端
- 接收请求
- 读取对应资源
- 响应返回数据(res.end(dataStr))
服务器渲染模板
- 客户端
- 准备好模板:script标签模板
- 接收响应
- 服务端
- 接收请求
- 读取对应资源,读取页面模板
- 模板引擎,编译模板并渲染页面:template.compile(htmlData)(jsonData)
- 响应返回数据(res.end(htmlStr))
两种模板渲染方式的区别
- 浏览器渲染
- 性能高,异步操作,局部刷新
- 用户体验高
- 利于前后端分离思想
- 服务器渲染
- 整个页面刷新,性能差
- 有利于SEO(最重要)
- 网站首页一般是服务器渲染