Установите generi c route в узле express application. (URL / индекс, URL / индекс2, URL / индекс3 ...) - PullRequest
0 голосов
/ 07 января 2020

Я учусь реагировать и express Framework из упражнений NodeSchool.io.
Я хочу хранить все файлы упражнений в одном приложении с несколькими страницами, такими как

index
index2
index3
index4
....

localhost: 3000 / indexN

Но я не могу установить маршрут для таких URL-адресов. Репо проекта: Git Publi c URL репо

Пробовал разные вещи, но не смог решить проблему.
Как настроить динамические c маршруты с express. js

app.use("/indexn*", function(req, res) {
  res.render("indexn", "");
});

Тип API-решения работает, как показано ниже, но это также не помогло, поскольку его параметризованный URL-адрес

 // http://localhost:3000/index/2
 app.get('/index/:id', function(req , res){
     res.render('index' + req.params.id, "");
 });

Я также пробовал различные шаблоны RegEx. в приведенной выше функции, например
(индекс) n , индекс: n *
, но компиляция не удалась.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 07 января 2020

Вы можете использовать регулярное выражение, следуя правильному синтаксису (без кавычек, но используя /delimiters/):

app.use(/\/index.*/, function(req, res) {
  // code
});

Это будет соответствовать любому пути, начинающемуся с "/ index". Чтобы сопоставить только «/ index», за которым следует число n, используйте шаблон: /\/index[0-9]*/

Вы также можете сопоставить путь к файлу, используя шаблон типа glob: '/index*'.

You может обработать запрос в зависимости от фактического запрашиваемого пути, проверив объект req.

app.use('/index*', function(req, res) {
  res.render(req.originalUrl);
});

ср. app.use () документация

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