如何使用单个视图的几个路由器?

时间:2015-03-03 12:49:18

标签: node.js express view routing

我有以下内容:

var router = express.Router();

router.get('/', function(req, res) {
    res.render('layout.jade');
});

router.get('/about', function(req, res) {
    res.render('layout.jade');
});

从上面的代码中可以看出,我对两条路线使用单layout.jade。如何将其与单个路由定义结合使用以删除重复的代码?如下所示:

router.get('/|/about', function(req, res) {
  res.render('layout.jade');
});

1 个答案:

答案 0 :(得分:1)

我会保持路线分开。重定向到另一条路线或合并你的回调。

var router = express.Router();

router.get('/', index);

router.get('/about', index);

function index(req, res) {
    res.render('layout.jade');
}

如果你真的必须这样做,你可以使用正则表达式。

router.get(/\/(about)?/, function(req, res) {
  res.render('layout.jade');
});