2013-01-13 21 views
0

我有一個路線定義爲節點+快速+玉:只有layout.jade被渲染

server.get('/', function (req, res) { 
    console.log('INDEX!'); 
    res.render('index.jade', { 
     locals: { 
      title: 'Your Page Title', 
      description: 'Your Page Description', 
      author: 'Your Name' 
     } 
    }); 
}); 

而且index.jade被定義爲:

div hello world!! 

但我參觀http://localhost:8081/所有我看到的是佈局,沒有「你好世界!」。在我看來,我甚至沒有擴展布局......爲什麼會發生這種情況?

INDEX!被呈現給我的控制檯,所以我知道它正在擊中那條路線。

回答

1

刪除.jade

res.render('index', { 
    locals: { 
     title: 'Your Page Title', 
     description: 'Your Page Description', 
     author: 'Your Name' 
    } 
}); 

另外,還要確保你有你的視圖配置設置正確:

server.set('views', __dirname + '/views'); 
server.set('view engine', 'jade'); 
+0

我認爲'.jade'擴展是可選的。我正在使用的樣板附帶了。觀點是正確的。 – mpen

+1

只要你將'view engine'設置爲'jade',玉延伸就是可選的。 – Maroshii

0

我需要添加

server.set("view options", { layout: false }); 

告訴express不使用自動默認佈局。我猜是因爲我的觀點沒有定義content塊(在我的佈局中使用),我的內容沒有出現;只有佈局。