从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(); } });