ejs-模板

Posted 平静的学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ejs-模板相关的知识,希望对你有一定的参考价值。

我今天第一次使用,使用的时候,遇到一些问题,还好有朋友帮我一起解决;

我先说说我使用过程中遇到的问题;

在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:
<p><%=: users | first | capitalize %></p>

布局:Layouts
eg:
<% include head %> <h1>Title</h1> <p>My page</p> <% include foot %>

注释:<%# ‘‘ %>
eg:
<%# ‘用于非转义的输出‘ %>

转义标签:<%- %>
eg:
<%- ‘<h1>123</h1>‘ %>
 



 

 










































以上是关于ejs-模板的主要内容,如果未能解决你的问题,请参考以下文章

在 EJS 模板引擎中,如何“包含”页脚?

nodejs常用代码片段

EJS 高效的 JavaScript 模板引擎

ejs使用文档

JavaScript使用Nodejs模板引擎EJS

如何在 ejs 模板中使用数组显示来自 mongo 的 json 数据?