我怎样才能实现与node.js的虚拟目录和expression?
我想要使用快速静态服务器configuration来实现静态服务器:
app.configure(function() { app.use(express.static(__dirname + '/public')); });
但我想将URL http://myhost/url1
到目录C:\dirA\dirB
和http://myhost/url2
到目录C:\dirC
如何使用express.static来实现?
根据您计划以这种方式映射的目录数量,可以简单地为公用文件夹中的这些目录制作符号链接。
在Windows中:
mklink /D c:\dirA\dirB public\url1
在Linux或OSX中:
ln -s /dirA/dirB public/url1
那么你的静态资产服务器应该从这些目录透明地(我从来没有在Windows上testing,但我不明白为什么它不会工作)。
或者,如果你想包含某种dynamic路由,你可以编写你自己的中间件来代替express.static
,它实际上是connect.static
。 看看连接源 文件中的static.js ,看看它是如何实现的,编写你自己的变体应该相当简单。
这应该为你工作:
var serveStatic = require( "serve-static" ); app.use('/url1', serveStatic('c:\\dirA\\dirB')); app.use('/url2', serveStatic('C:\\dirC'));
看看app.use()的文档。