首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS Express:不同的urls对应不同的视图目录?

NodeJS Express:不同的urls对应不同的视图目录?
EN

Stack Overflow用户
提问于 2017-03-08 04:19:32
回答 1查看 290关注 0票数 1

根据我知道的文档,我可以将我的Express 4.12.x设置为使用多个视图目录,如下所示:

代码语言:javascript
复制
app.set('views', [
    __dirname + '/views1',
    __dirname + '/views2'
]);

但我希望有不同的网址从不同的视图目录中获得视图。所以我想要这样的东西:

代码语言:javascript
复制
app.get('/views1/:view', function (req, res) {
    res.render(req.params.view);  //get the views only from /views1
});
app.get('/views2/:view', function (req, res) {
    res.render(req.params.view);  //get the views only from /views2
});

目前发生的情况是,无论url是什么,Express总是先在/views1中检查:view,然后在/views2中检查。我知道这是Express的正常行为,但我很想知道是否有可能让我的想法发挥作用。

EN

回答 1

Stack Overflow用户

发布于 2017-03-08 04:38:53

在重读Express文档后,我只是通过使用Express子应用作为中间件来让它工作:

代码语言:javascript
复制
var express = require('express');
var app = express();

var views1app = express();
var views2app = express();

views1app.set('views', __dirname + '/views1');
views1app.set('view engine', 'pug');
views1app.get('/views1/:view', function (req, res) {
    res.render(req.params.view);
});

views2app.set('views', __dirname + '/views2');
views2app.set('view engine', 'pug');
views2app.get('/views2/:view', function (req, res) {
    res.render(req.params.view);
});

app.use(views1app, views2app);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42657543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档