2012-10-11 152 views
2

我要保持這個簡短,我只是想使用快遞js渲染玉模板。 我使用express 3.0.0rc5和玉0.27.6。特快JS不渲染玉模板

這裏是我的玉模板,佈局:

// test-layout.jade 
doctype 5 
html 
    head 
    title My title 
    block head 
    body 
    #content 
     block content 

和索引:

// test-index.jade 
extends test-layout 

block head 
    script(src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js") 

block content 
    h1 My page 

下面是一些摘錄app.js:

var app = express(); 
// Configuration 
app.configure(function(){ 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(__dirname + '/public')); 
}); 

app.get('/test-jade', function(req, res) { 
    res.render('test-index', {}, function(err, html) { 
    }); 
    }); 
app.get('/test', function(req, res) { 
    res.send('this works'); 
}); 

現在每當我試圖轉到http://myurl.com/test-jade瀏覽器掛起並超時而不在控制檯中顯示任何輸出(即使我處於開發模式)。

但是,當我去http://myurl.com/test我看到'這個作品'。

我覺得我錯過了一些非常簡單的東西,目前我正在從2.5升級到3.0。

如果有人有任何建議,請提前致謝。

回答

4

這是空白回調嗎?

res.render('test-index', {}, function(err, html) { 
}); 

在我的應用我使用

res.render('test-index', {}); 
+0

嘿嘿,wuddyaknow奏效,謝謝! – Robeezy

+0

爲將來發現此問題的任何人添加評論。我有類似的問題,只是把 res.render('test-index',{}) 沒有解決它。我不得不使用回調方法來寫入數據。 – Jonathan

+0

'res.render('test-index')'是'test-index'相對於任何東西嗎? – Val