ejs 文档翻译
来源:互联网 发布:may it be mv 编辑:程序博客网 时间:2024/06/05 02:19
英文官方github文档:https://github.com/visionmedia/ejs
安装
$ npm install ejs
功能
- 适合 Express view 系统
- 静态缓存中间的 JavaScript
- 不输出时使用
<% code %>
- 默认转义 html 使用
<%= code %>
- 不转义输出
<%- code %>
- 支持自定义分隔符
- 支持过滤器
- 支持Includes
- 客户端支持
- 想支持换行用
<% code -%>
或者<% -%>
或者<%= code -%>
或者<%- code -%>
例子
<h1><%= title %></h1><% users.forEach(function( u ){ %><div><h3><%= u.name %></h3><%- u.des %></div><% }) ;%><% js 代码,不能输出。 %><% js 代码 ,输出转义后的返回值,打印到页面上。 %><%- js代码,输出返回值,打印到页面上,可以输出html代码。 %>
<% if (user) { %> <h2><%= user.name %></h2><% } %>
用法
ejs.compile(str, options);// => 返回函数ejs.render(str, options);// => 返回字符串
Options
cache
缓存编译好的函数,需要filename
filename
当设置缓存时,用作缓存的 keyscope
函数执行上下文debug
设置为true的时候,会输出生成函数体compileDebug
当设置成false
时,debug 参数无效。client
返回独立的编译好的函数open
开始标签, 默认为 "<%"close
结束标签, 默认为 "%>"- * All others are template-local variables
Includes
<ul> <% users.forEach(function(user){ %> <% include user/show %> <% }) %></ul>
自定义分隔符
var ejs = require('ejs');ejs.open = '{{';ejs.close = '}}';
<h1>{{= title }}</h1>
过滤器
EJS 支持过滤器. 过滤器链用于操作数据, 而不用写JavaScript.
模板:
<p><%=
:
users
| map:'name' | join
%></p>
输出:
<p>Tj, Mape, Guillermo</p>
渲染:
ejs.render(str, { users: [ { name: 'tj' }, { name: 'mape' }, { name: 'guillermo' } ]});
或者 使用第一个用户的 name 进行显示,可以这样写:
<p><%=: users | first | capitalize %></p>
过滤器列表
支持下面这些过滤器:
- 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'
自定义过滤器
只需将方法添加到 .filters
对象:
ejs.filters.last=function(obj) { return obj[obj.length-1];};
布局
现在 EJS 没有 blocks 的概念, 只有编译时的 include
s,然而,你同样可以利用这个功能实现"layouts",通过如下的方式包含头部和底部:
<% include head %><h1>Title</h1><p>My page</p><% include foot %>
如果扩展名是ejs,可以省略,否则应该写全。<% include head.html %>
客户端支持
包含./ejs.js
or ./ejs.min.js
and require("ejs").compile(str)
.
0 0
- ejs 文档翻译
- EJS 中文文档
- Ejs
- 翻译文档
- 文档翻译
- MongoDB文档翻译-引言-文档
- GSM0222 文档的翻译
- Tomcat文档翻译
- Tomcat文档翻译二
- OpenKM 文档翻译
- dhtmlxtree文档翻译
- NHibernate文档翻译
- dhtmlxtree文档翻译
- dhtmlxtree文档翻译(转)
- WinPcap文档翻译第一章
- 预备翻译C99文档
- Squirrel 文档翻译( Introduction )
- Squirrel 文档翻译( 目录)
- 史上最全的iOS面试题及答案
- 借助Excel公式自动导出VC资源中的所需控件ID列表
- CAS单点登录原理分析
- 华为经典面试题---大数乘法的c++实现
- 怎样实现ABBYY FineReader for Mac的快速安装
- ejs 文档翻译
- 图片拉伸处理
- Android LayoutInflater详解
- 极光推送iOS
- Gradle常用配置
- 行转列
- Selenium 使用方法小结
- (二)mysql索引操作
- 【Opencv】读图像文件imread