如何处理node.js / express中的相对path?

我在node.js中写了一个网站,并表示。 现在我将lighttpdconfiguration为使用具有子目录的node.js服务器:

$HTTP["url"] =~ "^/app/" { proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => 3000 ) ) ) } 

当我打开http://localhost/app/我得到错误404,因为我写了这样的东西:

 app.get('/', function (req, res){ res.render('index'); }); 

有没有更好的方法来修改这些行:

 var relPath = '/app'; app.get(relPath + '/', function (req, res){ res.render('index'); }); 

Ryan评论说,解决scheme是:

 app.use('/app', app.router); 

如果你使用例如express.static或express.favicon你必须告诉app.usepath也:

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

记住在每个你在html中设置的内部链接之前写'/ app'。