Как настроить эмуляторы firebase, используя nodejs и reactjs? - PullRequest
1 голос
/ 05 августа 2020

Я пытаюсь настроить эмуляторы firebase для функций и firestore. Моя файловая структура настроена следующим образом:

functions
---APIs
---util
---.gitignore
---index.js
---package-lock.json
---package.json
views
---public
---src
---.gitignore
---capacitor.config.json
---ionic.config.json
---package-lock.json
---package.json
---tsconfig.json
.firebaserc
.gitignore
firebase.json
firestore.indexes.json
firestore.rules
ionic.config.json
package-lock.json
package.json

Вид - это то место, где находится мой код реагирующего внешнего интерфейса.

У меня настроены эмуляторы, и когда я запускаю firebase emulators:start, он запускает эмуляторы. Но после этого я не знаю, как связать их с nodejs и интерфейсом.

это индекс. js код для функций пути / index. js:

const functions = require("firebase-functions");
var bodyParser = require("body-parser");
const app = require("express")();

const auth = require("./util/auth");

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));

// parse application/json
app.use(bodyParser.json());

{/**** route calls were here ****/}

exports.api = functions.https.onRequest(app);

В functions / util / admin. js у меня есть код как таковой:

const admin = require("firebase-admin");

admin.initializeApp();

const db = admin.firestore();

db.settings({
  host: "localhost:8080",
  ssl: false
});

module.exports = { admin, db };

это часть моего кода для функций / API / пользователей. js для входа в и такие:

const { admin, db } = require("../util/admin");
const config = require("../util/config");
const { capitalize_Words } = require("../util/helpers");

const firebase = require("firebase");

firebase.initializeApp(config);

const { validateLoginData, validateSignUpData } = require("../util/validators");

// Login
exports.loginUser = (request, response) => {

{/**** rest of code here ****/}

Если у кого-то есть какие-то советы по подключению эмуляторов, дайте мне знать. Кроме того, если у кого-то есть лучшие предложения или нужна дополнительная информация, сообщите мне.

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

1 Ответ

0 голосов
/ 23 августа 2020

Недостаточно воображаемых rnet точек для комментариев, поэтому я помещаю здесь свои мысли. Кстати, у меня нет опыта работы с Ioni c, поэтому я мог что-то упустить.

Набор эмуляторов, когда он активен, должен быть доступен по адресу localhost (например, localhost:5001, который, как я считаю, по умолчанию). Оттуда вы сможете выполнять маршрутизацию к своим функциям, например, localhost:5001/example_function.

Это должно использоваться только для локальной разработки. При развертывании приложения в реальном времени оно должно быть развернуто firebase deploy, а URL-адрес изменится в зависимости от вашего проекта firebase. В обоих случаях интерфейс командной строки должен писать точные URL-адреса функций

Дайте мне знать, если это ответит на ваш вопрос, или я был далеко!

https://firebase.google.com/docs/emulator-suite/install_and_configure

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