ejs 是 node.js 的一种模板引擎,本文介绍简单用法。
简介 {#简介}
EJS是一个javascript模板库,用来从json数据中生成HTML字符串。
- 功能:缓存功能,能够缓存好的HTML模板;
- <% code %>用来执行javascript代码
- ejs模板文件后缀名 .ejs
常用语法 {#常用语法}
- 用
<%...%>
包含 js 代码 - 用
<%=...%>
输出变量 变量若包含'<' '>' '&'
等字符 会被转义 - 用
<%-...%>
输出变量 不转义 - 用
<%- include('user/show') %>
引入其他模板 包含./user/show.ejs
- 用
<%# some comments %>
来注释,不执行不输出 <%%
转义为'<%'
<% ... -%>
删除新的空白行模式?<%_ ... _%>
删除空白符模式
安装 {#安装}
基本用法 {#基本用法}
方法 {#方法}
-
ejs.compile()
-
ejs.render()
-
options参数
cache
缓存编译后的函数(ejs.compile(...) ,需要filename
参数作为缓存的keyfilename
用于缓存的key,和includecontext
函数的执行上下文compileDebug
输出compile的信息来跟踪调试client
返回编译后的函数delimiter
<% ... %> 指这里的%debug
输出ejs.compile()得到函数的函数体strict
ejs.compile()返回的函数是否执行在严格模式_with
是否使用 with(){...} 来访问本地变量localsName
保存本地变量的对象名,默认为localsrmWhitespace
移除多余空格
-
include(文件包含)
被包含文件的路径可以是:绝对路径或相对路径,还可以传入datainclude是在运行时被执行的,所以可以支持路径为变量, 如:
-
自定义模板定界符
-
页面布局
ejs 没有显式的支持布局功能,但是可以通过 include 页头页脚的方式,实现基本的布局。
基本语法 {#基本语法}
引入其他文件 {#引入其他文件}
上面的代码将path目录下的filename.ejs文件引入到当前文件中,并将data的值传入filename.ejs文件中。
此处使用<%- %>
是为了避免二次转义。
也可以使用<% include path/filename %>
进行引入
设置分隔符 {#设置分隔符}
模板嵌套 {#模板嵌套}
ejs不支持像Jade那样的block布局,但是可以使用include的方式实现布局
变量定义标签属性 {#变量定义标签属性}
循环 {#循环}
if语句 {#if语句}
参考资料 {#参考资料}
- https://www.cnblogs.com/stephenykk/p/6017927.html
- https://ejs.bootcss.com/
- https://blog.csdn.net/weixin_30385925/article/details/97279656
文章链接:
https://www.zywvvd.com/notes/coding/node-js/node-js-ejs/node-js-ejs/