模版引擎
模版引擎(Template Engine),是一项展现层与数据分离的技术。可以分开处理展现层和数据,再通过模版引擎按照一定的语义将数据填充进展现层,形成最终的HTML页面。
模版引擎分为两种:服务端模版引擎、客户端模版引擎。
服务端模版引擎
在服务端将数据填入模版,返回相应的HTML页面。
优点:
- 需要在服务端做相关计算
- 首屏响应速度快,不用等待js的加载和渲染
缺点:
- 页面的每一次改动都要重新请求模版,和服务端交互频繁,影响效率。
客户端模版引擎
将模板和数据分别传送到客户端,在客户端由js渲染出最终的HTML视图。自从有了ajax,用户交互部分直接可以用过ajax请求传回的数据在客户端做渲染,不用每次都请求服务端模版,所以客户端模版引擎的使用开始变得频繁。
优点:
- 需要用户交互的地方不用频繁对服务器发请求,节省交互时间。
- 使前后端分离,后端专心做业务逻辑,而前端专心做用户交互。
- 客户端可以对模版文件进行缓存,大大减小服务端负荷。
缺点:
- 不利于SEO
- 客户端需要做大量的渲染计算,影响首屏响应时间。
前后端模版引擎的结合
- 将不需要频繁变化、要减少初始化加载的部分放在服务端
- 将和用户交互相关、可能会频繁变化的部分放在客户端处理
*小tips:
SEO(Search Engine Optimization 搜索引擎优化):因为搜索引擎只识别HTML代码,对JS代码不识别。导致客户端模版引擎不利于SEO。
SEO收集文本的元素:
-
<title> 标记。
-
<meta name="description"> 标记。
-
<meta name="keywords"> 标记。
- 标题标记(<h1> 至 <h6>)。
- 超链接(<a> 标记)。