SSR с облачными функциями Firebase. Код клиента, использующий firebase против firebase-admin на сервере - PullRequest
0 голосов
/ 30 октября 2019

Я создаю облачную функцию для выполнения SSR на некоторых маршрутах моего приложения.

Я планирую повторно использовать мой клиентский код для рендеринга моего приложения на сервере (с использованием response-dom / server renderToString method).

Вот что:

Мой код клиента выполняет import firebase from firebase/app для запроса данных из Firestore. Но в моей облачной функции я должен использовать firebase-admin, верно? Или возможно использовать пакет firebase на сервере?

Мой вопрос:

Предполагается, что мне придется использовать firebase-admin нана стороне сервера для запроса Firestore, что мне делать с моим оператором import firebase from firebase/app, так как этот пакет не будет установлен на сервере?

OPTION # 1

ЕслиЯ устанавливаю его (добавляю как зависимость к package.json в папке functions ) и не использую его?

OPTION # 2

Должен ли я сделать копию файла и изменить его для сборки на сервере?

Я не думаю, что это лучший вариант, так как я хотел бы отображать файлы приложения как они есть. Я просто сообщу коду о том, что если он получает данные от реквизитов (предоставляемых кодом функции облака с использованием firebase-admin), он не должен делать какие-либо вызовы API для firebase, потому что он работает на сервере.

Есть ли лучшая практика для этого варианта использования? Есть ли лучшие варианты, которых я не вижу?

Примечание: Вся выборка данных с использованием firebase-admin внутри моего кода функции облака будет происходить вне моего реального приложения "клиент"код". Когда у него есть данные, оно будет отображать приложение "клиентский код" вместе с ним, используя метод renderToString из React.

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