基于 Mircosoft 的 WebMatrix 2 中的示例项目,我已经使用everyauth 和 express 启动了一个小型 webapp。我无法理解的是信息如何传递到视图以及视图如何从部分视图拼接在一起。
该视图是从名为 layout.jade 的父视图和部分视图(例如 index.jade)生成的。然而,这些观点似乎没有相互参照。
路由似乎是用以下代码管理的:
app.configure(function() {
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(require('./middleware/locals'));
app.use(express.cookieParser());
app.use(express.session({ secret: '[secret]' }));
app.use(everyauth.middleware());
app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }));
app.use(connect.static(__dirname + '/public'));
app.use(app.router);
});
并且路线定义如下:
app.get('/', function(req, res) {
res.render('index', { title: 'Home Page. ' })
});
这似乎完美地合并了布局和局部视图,但我无法弄清楚如何。谁能阐明这是如何工作的?