从expressjspathpath中排除单词
有没有办法使它不符合/api
和/assets
?
router.use("/:group", groupRouter);
我尝试了以下,但它没有工作。
router.use("/:group(!(api|assets))", groupRouter);
此外,我尝试在这里使用正则expression式,但节点给了我一个错误,说它期望callback,而不是一个正则expression式。
注意:显然.use
也不会捕获group
,但在我的情况下这不是必要的。 我只需要它来匹配除了几个字以外的所有内容。
我使用嵌套中间件来解决这个问题。
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(); } });