nodejs的模板引擎有很多, EJS是比较简单和容易上手的。本文将详细介绍EJS

概述

EJS是一个简单高效的模板语言,通过数据和模板,可以生成HTML标记文本。可以说EJS是一个JavaScript库,EJS可以同时运行在客户端和服务器端,客户端安装直接引入文件即可,服务器端用npm包安装

【安装】

ejs可以配合express框架使用,或直接在node中/浏览器中使用$ npm install ejs

【特点】

1、快速编译和渲染

2、简单的模板标签

3、自定义标记分隔符

4、支持文本包含

5、支持浏览器端和服务器端

6、模板静态缓存

7、支持express视图系统

用法

html>

Document

document.getElementById('div1').innerHTML = html;

方法

【ejs.compile(str,[option])】

编译字符串得到模板函数,参数如下str:需要解析的字符串模板

option:配置选项var template = ejs.compile('');var result = template();

console.log(result);//123

【ejs.render(str,data,[option])】

直接渲染字符串并生成html,参数如下str:需要解析的字符串模板

data:数据

option:配置选项var result = ejs.render('');

console.log(result);//123

两个函数包括的配置选项参数options如下:

cache 缓存编译后的函数(ejs.compile(..) ,需要 filename参数作为缓存的key

filename 用于缓存的key,和include

context 函数的执行上下文

compileDebug 输出compile的信息来跟踪调试

client 返回编译后的函数

delimiter  指这里的%debug 输出ejs.compile()得到函数的函数体

strict ejs.compile()返回的函数是否执行在严格模式

_with 是否使用 with(){..} 来访问本地变量

localsName 保存本地变量的对象名,默认为locals

rmWhitespace 移除多余空格

常用标签

【js】

所有使用 括起来的内容都会被编译成 Javascript,可以在模版文件中像写js一样Coding

//test.ejs

//test.jsvar ejs = require('ejs');var fs = require('fs');var data = fs.readFileSync('test.ejs');var result = ejs.render(data.toString());

console.log(result);//123

或者,像下面这样写var ejs = require('ejs');var result = ejs.render('');

console.log(result);//123

【变量】

用输出变量,变量若包含 '' '&'等字符会被转义var ejs = require('ejs');var result = ejs.render('',{a:'

123

'});

console.log(result);//<div>123</div>

如果不希望变量值的内容被转义,那就这么用输出变量var ejs = require('ejs');var result = ejs.render('',{a:'

123

'});

console.log(result);//

123

【注释】

用来注释,不执行不输出

【include】

include 可以引用绝对路径或相对路径的模板文件

//test.ejs

//test.jsvar ejs = require('ejs');var result = ejs.render('');//throw new Error('`include` use relative path requires the \'filename\' option.');console.log(result);

由上面的提示可知,使用相对路径时,必须设置'filename'选项

//test.ejs

//test.jsvar ejs = require('ejs');var result = ejs.render('',{filename:'test.ejs'});

console.log(result);//123

ejs html 模版lt;%- include,EJS模板引擎相关推荐

  1. nodejs-5.1 ejs模板引擎

    ejs官方文档:https://ejs.bootcss.com/  https://github.com/mde/ejs 模板引擎:是一种将数据和页面分离的技术.. 1.什么是 EJS? " ...

  2. 模板引擎ejs与html,后台模板引擎ejs与前台模板引擎artTemplate的简单介绍

    动态网页是指前端页面当中的数据内容来源于后台数据库,前端的html代码会随着后台数据的变化而变化,是动态生成的.制作动态网页有两种方式,一种方式是在后台拿到前端的html模板,利用后台模板引擎(如ej ...

  3. php ejs,EJS模板引擎实例详解

    前面的话 nodejs的模板引擎有很多, EJS是比较简单和容易上手的.本文将详细介绍EJS 概述 EJS是一个简单高效的模板语言,通过数据和模板,可以生成HTML标记文本.可以说EJS是一个Java ...

  4. Express框架中如何引用ejs模板引擎

    1.如何在项目中安装ejs模板引擎 在NodeJS指南中利用利用以下命令建立网站的基本结构: express -t ejs microblog 运行这个命令后继续运行 cd microblog &am ...

  5. express应用中ajax结合模板引擎ejs.js渲染页面

    一.express应用中ajax结合模板引擎ejs.js渲染页面 在views新建一个渲染模板命名 Template.ejs Template.ejs 示例: <% if(coursesList ...

  6. node.js Stream(流) 和 EJS 模板引擎——0822

    一.node.js 中的 Stream(流) 1.什么是 Stream ? Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http服务器发起请求的request 对象就是 ...

  7. node+ejs模板引擎的应用

    前言: 最近在开发一个关于后台管理系统的基础开发平台,解释一下就是不管什么管理系统都有一些相同的功能,但是又有一些细节不一样,这个基础平台就是实现对于基础功能可以进行快速开发,主要有自定义的生成功能代 ...

  8. express模板引擎jade与ejs

    express模板引擎有很多种,常用的是jade和ejs. 区别: jade-破坏式.侵入式.强依赖 ejs-温和.非侵入式.弱依赖 一.jade渲染数据到页面 1.根据缩进划分层级 2.属性用()表 ...

  9. jade模板引擎修改为ejs模板引擎

    如果我们使用jade模板引擎,里面的页面应该是这样的: 后缀名都是jade 如果想使用ejs 模板引擎要怎么做呢? (1)安装 ejs npm install ejs --save (2)在项目的ap ...

最新文章

  1. 列字段通用excel导入修改版
  2. ReflectionLabel(倒影控件)
  3. Gridview行随鼠标变色
  4. 速来围观!leetcode java实现汇总
  5. linux进程管理 pdf,高效与精细的结合--Linux的进程管理.pdf
  6. python逻辑回归代码_Logistic 逻辑回归及 python 实现
  7. easyui crud java_Easyui 创建 CRUD 应用_EasyUI 插件
  8. DALSA相机平场校正步骤
  9. 【LeetCode】【数组】题号:*283,移动零
  10. java word文档 转 html文件
  11. 黑马程序员 Python学习笔记之 判断(if)语句
  12. python爬淘宝评论_python爬虫实例,一小时上手爬取淘宝评论(附代码)
  13. 关于.NET、ASP.NET和ASP
  14. 英语单词词性顺口溜_英语十大词性口诀
  15. 你知道ISO27000信息安全管理标准族有多少?
  16. 计算机中丢失msvcr100.dll怎么办,Win7计算机中Msvcr100.dll丢失的解决方法
  17. OpenCV读取文件夹下的图片生成视频(mp4格式)
  18. elementUI输入框只能输入数字解决方案
  19. Docker:(二)docker安装部署及优化详解
  20. 石大远程在线考试计算机网络课程设计,20202021石大远程在线考试——《计算机网络课程设计》在线考试主观题参考资料答案.docx...

热门文章

  1. 06-Location详解之精准匹配
  2. linux下rm和rmdir的区别和使用
  3. 浅析js中e.target和e.currentTarget的区别
  4. 玩家类pk{游戏}测试类
  5. Pytorch 获取模型 Params/FLOPS
  6. 利用云打码来破解登录遇到验证码的问题
  7. 诚信315 | 同在阳光下,天威诚信携手多家安全企业共同发起诚信承诺
  8. python多任务基础知识
  9. 少儿编程学的是思维还是程序?
  10. Android-Skillful-Craftsman(Android能工巧匠)