服务端模版引擎和客户端模版引擎随手写写

模版引擎

模版引擎(Template Engine),是一项展示层与数据分离的技术。能够分开处理展示层和数据,再经过模版引擎按照必定的语义将数据填充进展示层,造成最终的HTML页面。前端

模版引擎分为两种:服务端模版引擎、客户端模版引擎。ajax

服务端模版引擎

在服务端将数据填入模版,返回相应的HTML页面。后端

优势:缓存

  • 须要在服务端作相关计算
  • 首屏响应速度快,不用等待js的加载和渲染

缺点:服务器

  • 页面的每一次改动都要从新请求模版,和服务端交互频繁,影响效率。

客户端模版引擎

将模板和数据分别传送到客户端,在客户端由js渲染出最终的HTML视图。自从有了ajax,用户交互部分直接能够用过ajax请求传回的数据在客户端作渲染,不用每次都请求服务端模版,因此客户端模版引擎的使用开始变得频繁。前后端分离

优势:优化

  • 须要用户交互的地方不用频繁对服务器发请求,节省交互时间。
  • 使先后端分离,后端专心作业务逻辑,而前端专心作用户交互。
  • 客户端能够对模版文件进行缓存,大大减少服务端负荷。

缺点:搜索引擎

  • 不利于SEO
  • 客户端须要作大量的渲染计算,影响首屏响应时间。

先后端模版引擎的结合

  • 将不须要频繁变化、要减小初始化加载的部分放在服务端
  • 将和用户交互相关、可能会频繁变化的部分放在客户端处理

*小tips:索引

SEO(Search Engine Optimization 搜索引擎优化):由于搜索引擎只识别HTML代码,对JS代码不识别。致使客户端模版引擎不利于SEO。ip

SEO收集文本的元素:

  • <title> 标记。

  • <meta name="description"> 标记。
  • <meta name="keywords"> 标记。
  • 标题标记(<h1> 至 <h6>)。
  • 超连接(<a> 标记)。