Node / Express.js - 覆盖在哪里查找每个请求的“视图”文件夹 [英] Node/Express.js - Overriding where to look for the 'Views' folder for each request
问题描述
app.configure(function (){
app.set('views',__dirname +'/ views');
.... snip ....
});
...所有我的视图模板都进入视图文件夹。
是否可以覆盖Express根据请求查询请求的视图?例如,如下所示:
app.get('/',function(req,res){
res.render('index',{viewFolder:'otherViews'});
});
我问的原因是我正在复制Microsoft ASP.NET MVC的区域功能,其中每个区域获取它自己的视图文件夹。
'views'设置是根目录,所以你应该可以指定一个子在层次结构中的文件夹:
app.get('/',function(req,res){
res .render('areaName / viewName');
});
这意味着您的区域需要是子文件夹,但它允许您完成分离你正在寻找。
In my Node/Express.js project I can set the views folder globally like so:
app.configure(function() {
app.set('views', __dirname + '/views');
.... snip ....
});
...and all my view templates go into the views folder.
Is it possible to override where Express looks for views on a request by request basis? For instance, something like the following:
app.get('/', function(req, res) {
res.render('index', { viewFolder: 'otherViews' });
});
The reason I ask is I'm trying to replicate Microsoft ASP.NET MVC's Areas functionality where each Area gets it's own views folder.
The 'views' setting is the root directory, so you should be able to specify a sub-folder in the hierarchy:
app.get('/', function(req, res) {
res.render('areaName/viewName');
});
It means your 'areas' need to be sub-folders, but it allows you to accomplish the separation you are looking for.
这篇关于Node / Express.js - 覆盖在哪里查找每个请求的“视图”文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!