根据路由在 NodeJS 中提供不同的静态内容

问题描述 投票:0回答:1

我应该以这样的事实作为序言:我是 NodeJS 的新手,更一般地说,对于您自己的 Web 服务器业务的所有编码,所以请耐心等待。

我想要实现的基本上是复制 Apache 的别名机制。我应该能够简单地在配置文件中配置别名列表及其相应的路径,然后让 Node 根据请求提供正确的资源。

为了实现这一目标,我挑选了两个中间件在 Connect 之上使用:静态和路由。路线基本上按预期工作,但我在掌握静态工作原理时遇到问题。具体来说,我现在的问题是:是否可以定义多个“静态”与连接一起使用,然后选择在收到请求后实际通过哪个“静态”来提供文件?

谢谢

node.js webserver node.js-connect
1个回答
2
投票

您可以定义多个静态以与连接一起使用。

   app.use(express.static(__dirname + '/public1'));
   app.use(express.static(__dirname + '/public2'));

连接中间件将检查第一个目录中是否存在该文件,如果未找到,则检查下一个目录。

但是 static 意味着静态,你不应该与 req 一起使用。

如果您希望根据请求提供文件,那么您应该设置一个动态路由,可以根据请求提供内容。

© www.soinside.com 2019 - 2024. All rights reserved.