EJS是一个javascript模板库,用来从json数据中生成HTML字符串。

  • 功能:缓存功能,能够缓存好的HTML模板;
  • <% code %>用来执行javascript代码
  • ejs模板文件后缀名 .ejs

引入其他文件

<%- include('path/filename', { data: data }) %>

上面的代码将path目录下的filename.ejs文件引入到当前文件中,并将data的值传入filename.ejs文件中。

此处使用<%- %>是为了避免二次转义。

也可以使用<% include path/filename %>进行引入

设置分隔符

var ejs = require('ejs'),
users = ['geddy', 'neil', 'alex']; // 仅对当前模板有效的设置
ejs.render('<?= users.join(" | "); ?>', {users: users}, {delimiter: '?'});
// => 'geddy | neil | alex' // 全局有效的设置
ejs.delimiter = '$';
ejs.render('<$= users.join(" | "); $>', {users: users});
// => 'geddy | neil | alex'

模板嵌套

ejs不支持像Jade那样的block布局,但是可以使用include的方式实现布局

<%- include('header') -%>
<h1>
Title
</h1>
<p>
My page
</p>
<%- include('footer') -%>

变量定义标签属性

<h1 style="<%= style %>"></h1>

循环

<ul>
<% for(var i in users){ %>
<li><%= users[i].username %>--<%= users[i].age %></li>
<% } %>
</ul> <% if (names.length) { %>
<ul>
<% names.forEach(function(name){ %>
<li foo='<%= name + "'" %>'><%= name %></li>
<% }) %>
</ul>
<% } %>

if语句

<!-- 将所有条件判断代码放<% %>里面即可 -->
<% if(isLogin){ %>
<div class="user">
<a href="">Jack</a>
<a href="">退出</a>
</div>
<% }else{ %>
<div class="login">
<a href="">登录</a>
<a href="">注册</a>
</div>
<% } %>

参考文档:https://ejs.bootcss.com/

最新文章

  1. 【纯css】响应式图片列表
  2. php.ini 配置详解【转载】
  3. 浅析MSIL中间语言——PE文件结构篇
  4. 用jsmooth + inno生成exe并制作简单安装包
  5. 【bzoj2243】[SDOI2011]染色
  6. jQuery -&gt; 获取元素的各种过滤器
  7. Logstash&mdash;&mdash;multiline 插件,匹配多行日志
  8. 怎样实现Web控件文本框Reset的功能
  9. java.lang.ClassCastException: sun.jdbc.odbc.JdbcOdbcStatement cannot be cast to java.beans.Statement
  10. BNUOJ29065鸣人的查克拉
  11. js getByClass函数封装
  12. C# TSC打印二维码和条形码
  13. MAC下用homebrew安装及配置apache、php和mysql
  14. (转)Illustrated: Efficient Neural Architecture Search ---Guide on macro and micro search strategies in ENAS
  15. 6-1 Quantifiers
  16. 【LOJ#6073】距离(主席树)
  17. LOJ#6277. 数列分块入门 1
  18. hive的find_in_set函数
  19. SQLServerDBA十大必备工具---让生活轻松点
  20. mysqlbinlog- 处理二进制日志文件的实用工具 学习笔记

热门文章

  1. Delphi - 数组 详解
  2. 1W字看懂互联网知识经济
  3. windows 里面waveOut*接口应用
  4. Selenium-几种操作
  5. 5 Python 数据类型—数字
  6. 【遍历二叉树】08判断两个二叉树是否相同【Same Tree】
  7. xml字符串转xml对象,xml对象转json对象
  8. L2-016 愿天下有情人都是失散多年的兄妹(25 分)
  9. bzoj 2510: 弱题 概率期望dp+循环矩阵
  10. 孤独地、凄惨地AK