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

时间:2012-09-11 08:33:44

标签: node.js webserver connect

我应该通过我不熟悉NodeJS的事实开头,更常见的是对您自己的网络服务器业务进行编码,所以请耐心等待。

我想要实现的目的基本上是复制Apache的别名机制。我应该只需要在配置文件中配置别名列表及其相应的路径,然后根据请求让Node服务于正确的资源。

为实现这一目标,我在Connect:static和route之上挑出了两个中间件。路线大多按预期工作,但我有一个问题,抓住静态工作原理。具体来说,我现在的问题是:是否可以定义多个“静态”以用于连接,然后在收到请求后选择您想要实际提供哪个文件?

由于

1 个答案:

答案 0 :(得分:2)

您可以定义多个静态以用于连接。

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

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

但静态意味着你不应该使用req。

如果您希望根据请求提供文件,则应设置可根据请求提供内容的动态路由。