模板引擎 (Template Engine)是Web开发中将展现层和数据分离的一项技术。模板引擎根据一定的语义,将数据填充到模板中,产生最终的HTML页面。模板引擎渲染的位置可分为客户端和服务器端。
服务器端渲染:模板引擎在服务器端将模板和数据合成,返回最终的HTML页面
- 客户端渲染通常使用JavaScript脚本,如果某些客户端不支持JavaScript,就需要在服务器端渲染;
- 搜索引擎通常不执行JavaScript脚本,要做到SEO友好,就必须实现服务器端渲染;
- SEO 很多爬虫是不认的。
- 首次打开速度,各种加载 速度很慢。
客户端渲染:将模板和数据分别传送到客户端,在客户端由JavaScript模板引擎渲染出最终的HTML视图。
- 可以对模板文件(相对静态)进行缓存和负载平衡,对于流量很大的公众站点非常有价值;
- 由于将模板渲染的计算转移到客户端,可降低服务器负荷;
- 各种原来服务器做的事情丢给客户端做了,减少开销。
- 如果一个前端页面的内容分别来自多个后台系统,而这些后台的架构各不相同(Java、.NET、Ruby等),则服务器端渲染需要采用不同的技术,模板资源无法共享。客户端渲染则不存在这个问题,不同的后台系统可采用相同的客户端渲染技术,这样互相之间的模板资源可以公用,前端页面的整合非常容易;
注意问题
- 客户端渲染和服务端渲染的时候,文件的语法格式不能一样,否则会冲突