如何在expressjs中创建树路径

时间:2017-08-27 03:22:31

标签: express routing

我的博客中有一些路线。 Strucrure看起来像这样:

/admin - admin
/login - login page
/videos - videocatalog
/:article - single article w/o category
/:category/:article -single article with category

我尝试使用

router.get('/!(admin):url', function(req, res) {
机器人没有得到像我需要的东西

1 个答案:

答案 0 :(得分:0)

我不建议您在博客上使用此架构,因为快递不会知道 /:article /:category 之间的区别。

我要做的是在 / articles 父路线中设置这些内容,如下所示:

router.get('/admin', function (req, res) { });
router.get('/login', function (req, res) { });
router.get('/videos', function (req, res) { });
router.get('/articles/:article', function (req, res) { });
router.get('/articles/:categoryOrArticle/:article?', function (req, res) { 

  if(req.params.article) {
    // If all parameters are passed to the url the user is accessing a categorized article
    let category = req.params.categoryOrArticle;
    let article = req.params.article;
  } else {
    // Else, user is accessing a non-categorized article
    let article = req.params.categoryOrArticle;
  }

});

要获得文章或类别,只需使用 req.params.article req.params.category