Я расскажу вам, что сработало для меня. Я люблю firebase, но использование местных эмуляторов было для меня болезненным. Я знаю, что со временем станет лучше, но пока нет. Может быть, кто-то другой может дать нам лучший подход
Используйте экспресс и обслуживайте свою функцию в порту 5001. Вы можете подключить отладчик для использования точек останова. Отметьте здесь .
Структура папок
| functions/
----| index.js
----| app.js
----| tests/
--------| app.spec.js
| serve.js
index.js
const functions = require('firebase-functions');
const app = require('./app');
module.exports.app = functions.https.onRequest(app);
app.js
const express = require('express');
const app = express();
app.use('/', (req, res) => {
// do stuff
});
module.exports = app;
serve.js
const bodyParser = require('body-parser');
const port = 5001;
const app = require('./functions/app.js');
app.use(bodyParser.json());
const message = `app is listening on port ${port}!`;
app.listen(port, () => console.log(message));
Модульное тестирование облегчит вашу жизнь при работе с облачными функциями. Они заставят вас сэкономить время и одновременно сделают вас лучшим программистом.
Примечание: в этом случае вы фактически используете базу данных firestore, поэтому убедитесь, что у вас есть среда разработки. Если вы когда-либо используете эмулятор для firestore, он находится на вашем локальном компьютере, поэтому он не записывает данные в реальную базу данных. Надеюсь, это поможет