node.js 什么是模板引擎?(具体介绍underscore)

前言:在 Web 开发中,数据的呈现通常是基于 HTML 和 CSS 的,而数据的变化又是非常频繁的,需要根据数据动态生成 HTML 标记。手动拼接 HTML 标记显然是一种非常低效的方式,不仅容易出错,而且难以维护。使用,我们使用到了模板引擎来解决这一问题。 

一、模板引擎概念:

模板引擎是一种将数据和模板结合起来生成最终结果的工具。它将一个模板和一个数据对象转为输入,通过模板解析和渲染生成最终的结果。通俗来说,模板引擎就是用来生成html等标记的工具。可以分解为两部分:

1.模板:一个模子(结构)。依据不同数据套不同的逻辑

2.引擎:一个处理器(编译、运行),最后渲染出HTML代码

二、模板引擎作用:

模板引擎在Web开发中扮演着重要角色,其主要作用包括:

(1)界面与数据分离

(2)业务代码与逻辑代码分离

(3) 生成特定格式的文档

(4)支持逻辑控制语句

(5)模板继承

(6)提高开发效率

 三、常用的模板引擎:

(1)underscore

(2)art-template

(3)ejs

(4)jade

下面,我们来具体介绍常用的underscore模板引擎:

四、underscore模板引擎:

(1)安装underscore

npm install underscore —save

(2)导入underscore

var_=require('underscore')

(3)补充:依赖项问题

3-1》如上述的安装underscore后面要接 —save,意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。

3-2》-g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。

3-3》-save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。

(4)在underscore模板文件中制定渲染规则

4-1》<%= %> 插入数据

eg:<%=name%>

4-2》<% %> 执行javascript代码(一定要遵循js语法规则)

eg:

<%

for(let i=0;;i<3;i++){...}

%>

(5)使用underscore渲染模板

5-1》获取渲染函数

var compiled=_.template(data)

注意 _是模板引擎的对象,data是模板文件内容

5-2》渲染数据生成html内容

var htmlstr=compiled(dataObj)

注意 dataObj是模板文件所需数据对象

(6)代码示例

见我的下一篇博客:node.js服务器端动态资源处理

相关推荐

  1. node.js 什么模板引擎?(具体介绍underscore

    2024-04-23 00:00:04       13 阅读
  2. velocity-engine-core什么?Velocity模板引擎的使用

    2024-04-23 00:00:04       33 阅读
  3. node.js 模版引擎

    2024-04-23 00:00:04       12 阅读
  4. Node.js什么

    2024-04-23 00:00:04       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-23 00:00:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-23 00:00:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-23 00:00:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-23 00:00:04       18 阅读

热门阅读

  1. Android R framework修改低电量关机值为2%

    2024-04-23 00:00:04       13 阅读
  2. 信息物理系统技术概述_1.概念和实现

    2024-04-23 00:00:04       40 阅读
  3. MongoDB 与MySQL的区别?优势?

    2024-04-23 00:00:04       11 阅读
  4. Flume

    Flume

    2024-04-23 00:00:04      39 阅读
  5. HCIP-Datacom-ARST必选题库_36_加密算法【1道题】

    2024-04-23 00:00:04       16 阅读
  6. 【centso】sqlite3.7.17升级到更新的版本

    2024-04-23 00:00:04       22 阅读
  7. 隐私计算DataTrust:从产品需求到工程架构实践

    2024-04-23 00:00:04       13 阅读
  8. nodejs 编写脚手架

    2024-04-23 00:00:04       41 阅读