【问题标题】:Serving different static content in NodeJS depending on route根据路由在 NodeJS 中提供不同的静态内容
【发布时间】:2012-09-11 17:13:12
【问题描述】:

我应该以我是 NodeJS 新手的事实作为开头,更一般地说,我是对自己的 Web 服务器业务的所有编码,所以请多多包涵。

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

为了实现这一点,我挑选了两个中间件在 Connect 之上使用:静态和路由。 Route 大部分都按预期工作,但我无法掌握静态的工作原理。具体来说,我现在的问题是:是否可以定义多个“静态”以与 connect 一起使用,然后在收到请求后选择要通过哪个“静态”实际提供文件?

谢谢

【问题讨论】:

    标签: node.js webserver connect


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 2016-02-29
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      相关资源
      最近更新 更多