github : https://github.com/visionmedia/ejs
ejs模板跟其他模板差不多。
与smarty模板的区别:
- 开始标记(<% ;{ )和结束标记( %>;} )
- 模板函数名或功能稍有不同
安装
npm install ejs
特点
模板逻辑代码
<% code %>
输出变量值
<%= code %>
不做转义的输出变量值
<%- code %>
简单示例
<% if (user) { %>
<h2><%= user.name %></h2>
<% } %>
ejs.compile(str, options);
// => Function
ejs.render(str, options);
// => str
<ul>
<% users.forEach(function(user){ %>
<% include user/show %>
<% }) %>
</ul>
更改开始标记和结束标记
var ejs = require('ejs');
ejs.open = '{{';
ejs.close = '}}';
<h1>{{= title }}</h1>
函数列表
- first
- last
- capitalize
- downcase
- upcase
- sort
- sort_by:'prop'
- size
- length
- plus:n
- minus:n
- times:n
- divided_by:n
- join:'val'
- truncate:n
- truncate_words:n
- replace:pattern,substitution
- prepend:val
- append:val
- map:'prop'
- reverse
- get:'prop'
模板嵌套
<% include head %>
<h1>Title</h1>
<p>My page</p>
<% include foot %>