我正在学习使用 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 使用 'layout:false'。
- 在 Jade 中漂亮地打印 HTML。
- 打开记录器,使用“开发”格式
有两个问题:
/* asterisk */
当我设置 'pretty: true' 时,我会覆盖我以前的选项,而不是添加它们。即,除非我添加{ pretty: true, layout: false }
感觉多余且不正确的程序,否则我的程序会中断。如何更正它以便我只“修改”视图选项,而不是“定义”它们?/* dagger */
记录器不承认我的请求,除了/favicon.ico
. 我发现如果我删除该app.use(app.router);
行,那么我会同时看到/
和/favicon.ico
。这里发生了什么?