Как обрабатывать относительные пути в 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.

Другие вопросы по тегам