Могу ли я написать app.get в экспресс для динамического получения? - PullRequest
0 голосов
/ 01 сентября 2011

Вместо того, чтобы писать один из них для каждого файла, который я хочу обслужить, я мог бы написать что-нибудь с эффектом ...

app.get('/' + x, function(req, res) {
    res.sendfile(x + '.html');
});

Если так, как бы я на самом деле это сделал? Могу ли я разобрать x из запроса перед тем, как делать app.get или что-то еще?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 сентября 2011

Если вы используете статические файлы, обязательно используйте статическую папку. если вам нужно использовать sendfile, попробуйте это:

app.get('/:pagename'  , function(req, res) {
  res.sendfile(req.params.pagename + '.html');
});
0 голосов
/ 01 сентября 2011

Поместите все ваши HTML-файлы, которые вы хотите сделать общедоступными, в имя папки public

Затем добавьте express.static в свой список промежуточного программного обеспечения

app.use(express.static(__dirname + '/../public'));

К вашей конфигурации.Теперь эти файлы будут перенаправлены статически.Так что, если у вас есть файл в расположении /public/foo/bar.html, /foo/bar.html загрузит и вернет этот файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...