最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

nodejs表示基于路由的动态静态文件夹

IT培训 admin 6浏览 0评论

nodejs表示基于路由的动态静态文件夹

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

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

这将合并2个文件夹,使它们显示为一个,但问题是如果我在两个文件夹中都有相同的文件名,那么最后一个文件将获胜。

我想做的是根据请求的路由动态路由静态请求。

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

这可能吗 ??

回答如下:

当您使用express.static中间件时,它会尝试解析该文件(在mymod1中)并将其发回。如果没有找到文件,则下一个中间件是调用并尝试在mymod2中解析,因此只有第一个应该获胜。

如果要添加路由,可以将其精确定位为第一个参数:

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

nodejs表示基于路由的动态静态文件夹

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

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

这将合并2个文件夹,使它们显示为一个,但问题是如果我在两个文件夹中都有相同的文件名,那么最后一个文件将获胜。

我想做的是根据请求的路由动态路由静态请求。

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

这可能吗 ??

回答如下:

当您使用express.static中间件时,它会尝试解析该文件(在mymod1中)并将其发回。如果没有找到文件,则下一个中间件是调用并尝试在mymod2中解析,因此只有第一个应该获胜。

如果要添加路由,可以将其精确定位为第一个参数:

app.use('/mymod1', express.static('...'))
发布评论

评论列表 (0)

  1. 暂无评论