- 安装
cnpm install ejs --save --dev
引入let ejs = require("ejs");
- 渲染
2.1 同步渲染 let html = ejs.render(str,data,options)
str标签语法
2.2 异步渲染 ejs.renderFile(filename, data, options, function(err, str){});
str => 输出渲染后的 HTML 字符串;
file页面可以绑定data;
2.3 option - 标签语法
<% 脚本 %>
用于流程控制,无输出
<%_ _%>
删除前面空格
<%= %>
渲染 数据 到模板
<%- %>
渲染 非转义原始内容 到模板
<%%
输出字符串 <%
- 包含(include)
将 模板片段 包含 <%- include('filename',{data:data})%>
- 自定义分隔符
{delimiter:?}
- 进程内缓存:缓存在渲染模板过程中所生成的临时 JS 函数
安装cnpm install lru-cache --save --dev
let lru = require("lru-cache");
ejs.cache = new lru({
max: 100,
maxAge: 60 * 10 * 10
});
ejs.clearCache();
ejs.cache.set('three',100);
options { cache: true }
ejs.cache.get('View/three.ejs')();
- express内设置ejs模板引擎
修改默认文件名称,app.set('views', __dirname + '/foldername');``__dirname
指当前项目的根目录
app.set('view engine', 'ejs');
设置ejs模板引擎 - express设置html模板引擎
app.engine('html', ejs.__express);
设置html引擎
app.set('view engine', 'html');
设置视图引擎 - 设置 静态资源目录
设置 static 文件为静态资源目录
app.use(express.static('static'));
静态路径是/public/··· 去static找静态文件
app.use('/public', express.static('static'));