如何将单个视图用于多个路由器



我有以下内容:

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

最新更新