Как обрабатывать относительные пути в node.js / express?
Я написал сайт в node.js и выразить. Теперь я настроил lighttpd для использования сервера 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');
});
?
1 ответ
Решение
Как прокомментировал Райан, решение таково:
app.use('/app', app.router);
Если вы используете, например, express.static или express.favicon, вы должны указать app.use путь также:
app.use('/app', express.favicon(__dirname + '/public/images/favicon.ico'));
app.use('/app', express.static(__dirname + '/public'));
Не забудьте написать "/app" перед каждой внутренней ссылкой, которую вы указали в html.