2013-10-29 21 views
0

我剛剛發現快遞3打破了ejs佈局功能,所以即時嘗試使用https://github.com/publicclass/express-partials編寫一些代碼,這應該是將快速增加布局功能,但是<%body% >在我的佈局文件標籤永遠不會被指定EJS文件替換無論我多麼努力 我的繼承人app.js快遞3佈局不工作的Ejs部分問題

var express = require('express') 
, partials = require('express-partials'); 
var mainscreen = require('./routes/mainscreen'); 

var user = require('./routes/user'); 
var http = require('http'); 
var path = require('path'); 

var app = module.exports = express(); 

// all environments 
app.set('port', process.env.PORT || 3000); 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs'); 
app.use(express.favicon()); 
app.use(express.logger('dev')); 
app.use(express.bodyParser()); 
app.use(express.methodOverride()); 
app.use(express.cookieParser('your secret here')); 
app.use(express.session()); 
app.use(app.router); 
app.use(partials()); 
app.use(express.static(path.join(__dirname, 'public'))); 
// development only 
if ('development' == app.get('env')) { 
    app.use(express.errorHandler()); 
} 
app.get('/', mainscreen.mainscreen); 
app.get('/users', user.list); 

http.createServer(app).listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

這裏是我的路線

exports.mainscreen = function(req, res, next){ 
    res.render('index.ejs', { 
         title:'Title', 
         titleinfobar: 'Title', 
         accountinfobar: 'Not signed in', 
         bodycontent: 'Body of the doc'}); 

layout.ejs

<!DOCTYPE html> 
<html> 
    <head> 
    <title><%= title %></title> 
    <link rel='stylesheet' href='/stylesheets/style.css' /> 
    </head> 
    <body> 
     <%- body %>  
    </body>    
</html> 

和index.ejs

<div class="head"> 
     <div class="col-big"><div id="righttitle"><%=titleinfobar %></div></div> 
     <div class="col-small"><div id="lefttitle"><%=accountinfobar %></div></div> 
</div> 
<div class="contentbody"> 
     <div id="content"> 
       <%= bodycontent %> 
     </div>   
</div> 

回答

2

周圍有點修補後,app.use(partials());需要app.use(app.router);之前被放置,否則,layout.ejs未加載。