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