如何为多个路由器使用单一视图?

How to use single view for several router?

我有以下内容:

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');
});

我会将路线分开。重定向到其他路由或合并您的回调。

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');
});