有没有办法让它不匹配/api和/assets?
/api
/assets
router.use("/:group", groupRouter);
我尝试了以下方法,但不起作用。
router.use("/:group(!(api|assets))", groupRouter);
另外,我尝试在这里使用正则表达式,但是node给了我一个错误,说它期望回调而不是正则表达式。注意:显然.use也不能捕获group,但在我的例子中这不是必需的,我只需要它匹配除了几个单词之外的所有内容。
.use
group
t3irkdon1#
我使用嵌套中间件来解决这个问题。
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(); } });
siv3szwd2#
尝试使用此:
router.use("/:group((?!(api|assets)\w+))", groupRouter);
agxfikkp3#
router.use("/:group(?!(api|assets)(\w+))", groupRouter);
3条答案
按热度按时间t3irkdon1#
我使用嵌套中间件来解决这个问题。
siv3szwd2#
尝试使用此:
agxfikkp3#