你如何更改快速静态目录?

时间:2014-02-24 10:58:31

标签: node.js express connect

我正在开发平台,我的代码类似于以下内容:

app.use('/public', express.static( config.directory.public ));

问题在于,有许多(100个)项目都有自己的目录结构。该项目将通过URL选择:

http://localhost/dev/accounts

其中account是具有自己的目录树和静态公共目录的项目。 我不想为每个项目运行单独的节点副本。一旦通过URL选择了项目,则需要重新配置express以为该请求提供文件。

但是,这种方法可能不可行,因为我们可能同时处理许多项目。因此,必须根据项目URL处理每个静态文件请求。它似乎否定了静态目录的好处。

我认为我所追求的是一种将变量放入目录路径的方法

http://localhost/dev/accounts

设置一个名为prj =“accounts”的变量,然后以某种方式设置express,以便根目录为“c:\ projects \”+ prj +“\ public”。 如果我只为每个请求发出一个新的app.use(..)语句,我想会发生不好的事情。

也许我最好只是手动读取每个静态请求的文件内容并重新发送内容。 有没有其他方法可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了你的问题,但是express会自动为你提供文件目录中的静态文件。如果你在一些'path / to / public'文件夹中有一堆项目,你只需要做一些像

这样的事情
app.use('/', express.static( __dirname + '/public' ));

这样,你只需输入一些像

这样的网址
http://localhost/project1

http://localhost/project2
相关问题