Как я могу обслуживать статический веб-сайт с хостинга Firebase через узел expressjs? - PullRequest
0 голосов
/ 14 мая 2019

Повторное использование вопроса от Как я могу обслуживать статический веб-сайт с s3 через узел expressjs? , но используется в контексте Firebase.

В настоящее время я использую app.use (express.static ('public')) и мои файлы, расположенные в общедоступной папке моего приложения js express, и его работоспособность.Однако я хотел бы хранить эти файлы (index.html и т. Д.) В нашем хостинге Firebase (чтобы несколько приложений могли использовать этот веб-сайт).Я пытался

app.get('/', function(req, res) {
    res.sendfile('*-firebaseapp.com/index.html'); 
 });

Существуют ли какие-либо конкретные методы для отображения статического веб-сайта, размещенного в Firebase, в приложении Express?

Спасибо за помощь!

1 Ответ

0 голосов
/ 14 мая 2019

Метод res.sendFile() определяет свой параметр path следующим образом:

path должен быть абсолютным путем к файлу.

Ваша функция Express работает в облачных функциях, которые являются безсерверным контейнером в инфраструктуре Google.Хостинг Firebase работает в другой инфраструктуре, причем большая часть обслуживания выполняется на пограничных кешах.

Код облачных функций не имеет доступа к файловой системе инфраструктуры хостинга.

Поэтому, если вы хотите обслуживать файлы с Firebase Hosting, вам придется запрашивать их через HTTP (S), аналогично тому, что должен сделать любой клиент.В качестве альтернативы вы можете рассмотреть возможность развертывания файлов HTML в свой контейнер Cloud Functions, поместив их в папку, в которой также находится ваш файл index.js / index.ts.

...