如何处理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'。