Как обработать запрос корневого пути с помощью node.js на хостинге Firebase? - PullRequest
1 голос
/ 23 мая 2019

Я занимаюсь разработкой веб-системы с использованием хостинга Firebase + функций. Несмотря на указание правил перезаписи в firebase.json, часть маршрутизации не работает.

root/
 ├ functions/
 │  ├index.js
 │  ├routes/
 │  │  └ index.js
 │  └views/
 │    ├ index.jade
 │    └ sub.jade
 └ public/
    └index.html // this is created by default. I don't want to use this.

Это мой firebase.json

"rewrites": [{
      "source": "**",
      "function": "app"
    }],

А это код node.js.

router.get('/', function(req, res, next) {
    res.render('index');
});

router.get('/subdir', function(req, res, next) {
    res.render('sub');
});

результат

https://myurl/ -> public/index.html is shown.(not handled on node.js)
https://myurl/ -> handled on node.js

Знаете ли вы, как обрабатывать запрос корневого пути с помощью node.js на хостинге Firebase.

1 Ответ

1 голос
/ 23 мая 2019

См. https://firebase.google.com/docs/hosting/full-config#hosting_priority_order.

Приоритетный порядок ответов хостинга

Различные параметры конфигурации Firebase Hosting, описанные на этой странице, могут иногда перекрываться. Если возникает конфликт, хостинг определяет свой ответ, используя следующий порядок приоритетов:

  1. Зарезервированные пространства имен, начинающиеся с / __ / * сегмента пути
  2. Настроенные перенаправления
  3. Статическое содержимое с точным соответствием
  4. Настроил переписывает
  5. Пользовательская страница 404
  6. Страница 404 по умолчанию

Статическое содержимое с точным соответствием имеет более высокий приоритет, чем Сконфигурированные перезаписи.

Итак https://myurl/ получить статический контент /index.html.

Можете ли вы попробовать удалить public / index.html?


Я пытался. Я могу переписать.

См. https://github.com/zkohi/firebase-hosting-using-functions-samples.

А вам стоит проверить https://firebase.google.com/docs/hosting/functions.

...