How can I implement virtual directories with node.js and express?

express, node.js

Solution

Depending on how many directories you're planning to map this way, you could simply make symlinks for those directories in your `public` folder.

In Windows:

mklink /D c:\dirA\dirB public\url1

In Linux or OSX:

ln -s /dirA/dirB public/url1

Then your static assets server should serve from those directories transparently (I've never tested on Windows but I don't see why it wouldn't work).

Alternatively, if you wanted to include some kind of dynamic routing, you could write your own middleware to replace `express.static` which is actually `connect.static` under the hood. Take a look at static.js in the connect source and see how it's implemented, it should be fairly straightforward to write your own variation.

Problem

I want to use the express static server configuration for implementing an static server: ``` app.configure(function() { app.use(express.static(__dirname + '/public')); }); ``` But I want to map the URL `http://myhost/url1` to directory `C:\dirA\dirB` and `http://myhost/url2` to directory `C:\dirC` How can it be implemented using express.static?

Original source