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

我在开发平台上工作,我有类似于以下代码:

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

问题是有很多(100)个项目,每个都有自己的目录结构。 该项目将通过URLselect:

 http://localhost/dev/accounts 

凡帐户是一个项目有自己的目录树和静态公共目录。 我不想为每个项目运行一个单独的节点副本。 一旦通过URLselect了一个项目,express就需要重新configuration为该请求提供文件。

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

我认为我所追求的是将variables放入目录path的方法

 http://localhost/dev/accounts 

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

也许我最好是手动读取每个静态请求的文件内容并发回内容。 有没有另一种方法来解决这个问题?

我不知道如果我正确地理解你的问题,但快递自动为你提供文件目录中的静态文件。 如果你在“path / to / public”文件夹中有一堆项目,你只需要做一些类似的工作

 app.use('/', express.static( __dirname + '/public' )); 

这样,你只需要键入一些url

 http://localhost/project1 

要么

 http://localhost/project2