express - ejs使用介绍

http://blog.sina.com.cn/s/blog_ad0672d60101l2ml.html

1.express中使用ejs
var express = require('express');//需要安装 express
var app = express();

app.set("view engine","ejs");//模版引擎设置为 ejs

2.文件组织

在express中使用ejs,文件组织遵循express。
.views-------放置动态模版
.public------放置静态网页
.layouts-----放置布局文件

3.基本语法
.<% code %>
 

   无缓冲的条件语句元素

.<%= code %>
    转义HTML,该code并且会打印出来

.<%- code %>
    非转义的buffering,该code并且会打印出来
    
.<% include file %>
    内嵌别的文件
    
.<% layout(file) -%>
    指定布局文件

.<% script(file) -%>
    包含js脚本文件
    
.<% stylesheet(file) -%>
    包含css文件
    
.<% block(code, code) -%>
    指定块内容    
    
4.基本对象

.scripts
    包含的脚本

.stylesheets
    包含的css

.blocks
    包含的块
    
5.例子

//index.ejs
<% layout('boilerplate') -%>
<% script('foo.js') -%>
<% stylesheet('foo.css') -%>
<h1>I am the <%=what%> template</h1>
<% block('header', "<p>I'm in the header.</p>") -%>
<% block('footer', "<p>I'm in the footer.</p>") -%>

//boilerplate.ejs
<!DOCTYPE html>
<html>
  <head>
    <title>It's <%=who%></title>
    <%-scripts%>
    <%-stylesheets%>
  </head>
  <body>
    <header>
      <%-blocks.header%>
    </header>
    <section>
      <%-body -%>
    </section>
    <footer>
      <%-blocks.footer%>
    </footer>
  </body>
</html>

//app.js
var express = require('express')
  , engine = require('ejs-locals')
  , app = express();

// use ejs-locals for all ejs templates:
app.engine('ejs', engine);

app.set('views',__dirname + '/views');
app.set('view engine', 'ejs'); // so you can render('index')

// render 'index' into 'boilerplate':
app.get('/',function(req,res,next){
  res.render('index', { what: 'best', who: 'me' });
});

app.listen(3000);

结果
<!DOCTYPE html>
<html>
  <head>
    <title>It's me</title>
    <script src="foo.js"></script>
    <link rel="stylesheet" href="foo.css" />
  </head>
  <body>
    <header>
      <p>I'm in the header.</p>
    </header>
    <section>
      <h1>I am the best template</h1>
    </section>
    <footer>
      <p>I'm in the footer.</p>
    </footer>
  </body>
</html>
posted on 2015-12-30 13:45  maxpak  阅读(369)  评论(0编辑  收藏  举报