从expressjs路由路径中排除单词

the_

有没有办法做到这一点,所以不匹配/api/assets

router.use("/:group", groupRouter);

我尝试了以下方法,但是没有用。

router.use("/:group(!(api|assets))", groupRouter);

另外,我在这里尝试使用正则表达式,但是node给我一个错误,说它期望回调而不是正则表达式。

注意:显然.use也没有捕获到group任何东西,但是对于我而言,这不是必需的。我只需要它来匹配除几句话之外的所有内容。

the_

我使用嵌套中间件解决了这个问题。

router.use("/:group", function(req, res, next) {
  var excludes = ["api", "assets"];
  if (excludes.indexOf(req.params.group) !== -1) return next();
  else {
    router.use("/"+req.params.group, groupRouter);
    next();
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章