nodejs基于路由expressiondynamic静态文件夹

我需要能够有多个静态(公共)文件夹,我可以实现使用以下内容:

app.use(express.static(path.join(__dirname, '/routes/mymod1/public'))); app.use(express.static(path.join(__dirname, '/routes/mymod2/public'))); 

这合并2个文件夹,使它们看起来像一个,但问题是如果我在这两个文件夹中具有相同的文件名,那么最后一个文件将赢得。

我想要做的是,根据请求的路由dynamic路由静态请求。

例如,对/mymod1/test.html的静态请求将被定向到/mymod1/public/test.html,对mymod2 / test.html的请求将被定向到/mymod2/public/test.html

这可能吗 ??

当您使用express.static中间件时,它会尝试parsing该文件(在mymod1中)并将其发回。 如果没有find文件,下一个中间件是调用,并尝试在mymod2中解决,所以只有第一个应该赢。

如果你想添加一个路线,你可以把它作为第一个参数:

 app.use('/mymod1', express.static('...'))