Regex 多快递';s路由器使用根路径

Regex 多快递';s路由器使用根路径,regex,node.js,express,Regex,Node.js,Express,我在使用快车的路由器时遇到了麻烦 下面是一个代码示例: // file.js (1st to be imported) module.exports = function (app) { app.use('/', fileRouter); }; fileRouter.get('/file', /* do stuff */ ); // user.js module.exports = function (app) { app.use('/', userRouter); };

我在使用快车的路由器时遇到了麻烦

下面是一个代码示例:

// file.js (1st to be imported)
module.exports = function (app) {
    app.use('/', fileRouter);
};

fileRouter.get('/file', /* do stuff */ );

// user.js
module.exports = function (app) {
    app.use('/', userRouter);
};

userRouter.get('/user', /* do stuff */ );
userRouter.get('/userList', /* do stuff */ );
我们不能给路由器加前缀,我们不想改变我们的路径结构

这两个regex路由器似乎是添加的,但却是重复的

它可能看起来像:

/
=> /file

/
=> /user
=> /userList
而不是

/
=> /file
=> /user
=> /userList
因此,它不再寻找这两个路由器,而是停在第一个路由器上


您知道如何解决此问题吗?

如果某个路由匹配,并且您仍然希望后续路由在匹配的情况下运行,则使用路由回调的第三个函数参数:

userRouter.get( '/', function( req, res, next ) {  
  /* Do something... */
  next();
});

在Express
应用程序中,快速路由器看起来像是中间件。使用
就像声明/添加另一个中间件。因此,这可能不会重复。但是如果你像那样使用
/:file
,你必须用另一种方法来处理。