我今天第一次使用,使用的时候,遇到一些问题,还好有朋友帮我一起解决;
我先说说我使用过程中遇到的问题;
在express框架中引用
app.set(‘views‘,__dirname + ‘/views‘);
app.set(‘view engine‘, ‘ejs‘);
路由中渲染
res.render(‘main/index‘,{
???userInfo:req.userInfo
});
运行的时候老是报错;
说我这句话,有问题;
res.render(‘main/index‘,{
???userInfo:req.userInfo
});
修改方案:
后面我把index.html 文件 后缀名改成 ejs,就好了;
我在想难道一定要ejs后缀名吗?
修改方案:
在express框架中引用:
var ejs=require(‘ejs‘);
app.engine(‘html‘, ejs.__express);
app.set(‘views‘,__dirname + ‘/views‘);
app.set(‘view engine‘, ‘html‘);
路由中渲染
res.render(‘main/index‘,{
???userInfo:req.userInfo
});
安装:
npm install ejs;
定义:
EJS是一个JavaScript模板库,用来从JSON数据中生成HTML字符串;
语法:
ejs.open=<%;
ejs.close=%>;
可以更改:
ejs.open = ‘{{‘;
ejs.close = ‘}}‘;
赋值: <%= ??%>
注意:<%= ?;
< ,%,=,三者之间不能有空格
eg:<h2><%=title ?%></h2>
控制流:<% ?%>
eg: forEach循环
<ul> ?<% users.forEach(function(user){ %> ???<% include user/show %> ?<% }) %></ul>
eg: if语句
<% if (user) { %> ???<h2><%= user.name %></h2><% } %>
过滤Filters: |
eg:
eg:
<p><%=: users | first | capitalize %></p>
布局:Layouts
<% include head %><h1>Title</h1><p>My page</p><% include foot %>
注释:<%# ‘‘ ?%>
eg:<%# ‘用于非转义的输出‘ %>
转义标签:<%- %>
eg:<%- ‘<h1>123</h1>‘ %>
ejs-模板
原文地址:http://www.cnblogs.com/fangyinghua/p/7680583.html