我正在學習使用Express。我想做的事:如何在Express中添加'查看選項'?
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options', { layout: false }); /* asterisk */
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router); /* dagger */
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
app.use(express.logger('dev'));
app.set('view options', { pretty: true }); /* asterisk */
});
我所做的補充是:
- 使用 '佈局:假' 的翡翠。
- 漂亮 - 在Jade中打印HTML。
- 打開記錄儀,用「開發」格式
有兩個問題:
/* asterisk */
當我設置「漂亮:真正的」我重寫我以前的選擇,而不是添加到他們。也就是說,除非我添加{ pretty: true, layout: false }
,否則我的程序會中斷,這會讓您覺得冗餘並且不能正確。我如何糾正它,以便我只是「修改」視圖選項,而不是「定義」它們?/* dagger */
該記錄器不會確認我的請求,但/favicon.ico
除外。我發現如果我刪除app.use(app.router);
行,那麼我會看到/
和/favicon.ico
。這裏發生了什麼?
謝謝,我明白你的意思有關中間件堆棧什麼自定義的分隔符。重新排序解決了這個問題,這使得我的app.js看起來很尷尬:在我只有一個'app.configure('development'')之前,現在我必須有兩到三個遍歷,才能獲得訂購權... – 2012-04-23 20:12:06