2012-05-16 15 views

Odpowiedz

5

W zależności od tego, ile katalogów zamierzasz zamapować w ten sposób, możesz po prostu utworzyć dowiązanie symboliczne do tych katalogów w folderze public.

W systemie Windows:

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

W systemie Linux lub OSX:

ln -s /dirA/dirB public/url1 

Następnie serwer aktywa statyczne powinny służyć z tych katalogów transparentnie (nigdy nie testowane na Windows, ale nie zobacz, dlaczego to nie zadziała).

Alternatywnie, jeśli chcesz uwzględnić jakiś rodzaj dynamicznego routingu, możesz napisać własne oprogramowanie pośredniczące, aby zastąpić express.static, które w rzeczywistości jest pod maską. Spójrz na static.js w connect source i zobacz, jak to jest zaimplementowane, powinno być całkiem proste napisanie własnej odmiany.

7

ten powinien pracować dla Ciebie:

var serveStatic = require("serve-static"); 
app.use('/url1', serveStatic('c:\\dirA\\dirB')); 
app.use('/url2', serveStatic('C:\\dirC')); 

Spójrz na dokumentacji app.use().

+0

Jest to znacznie prostsza i wydajniejsza odpowiedź niż zaakceptowana. – havlock

Powiązane problemy