Firebase служат - только функции VS локальный эмулятор для локального запуска облачных функций? - PullRequest
1 голос
/ 16 июня 2019

До сих пор я делал следующее, чтобы использовать и тестировать свои функции локально во время разработки:

Я оставляю это работающим в одном терминале:

firebase serve --only functions

И я добавляю это в мой клиентский код при инициализации моего приложения Firebase:

const config = {
  apiKey: process.env.FIREBASE_APP_API_KEY,
  authDomain: process.env.FIREBASE_APP_AUTH_DOMAIN,
  databaseURL: process.env.FIREBASE_APP_DATABASE_URL,
  projectId: process.env.FIREBASE_APP_PROJECT_ID,
  storageBucket: process.env.FIREBASE_APP_STORAGE_BUCKET,
  messagingSenderId: process.env.FIREBASE_APP_MESSAGING_SENDER_ID
};

firebase.initializeApp(config);

// THIS IS THE DEFAULT HOST AND PORT USED BY 'firebase serve command'
firebase.functions().useFunctionsEmulator('http://localhost:5000');

Я протестировал только функции, вызываемые по протоколу HTTP, и до сих пор это работало нормально.


Но в документах я вижу это:

https://firebase.google.com/docs/functions/local-emulator

Локальный запуск функций В CLI Firebase входитЭмулятор Cloud Functions, который может эмулировать следующие типы функций:

  • HTTPS-функции
  • Вызываемые функции
  • Облачные функции Firestore

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

1.Установите Firebase CLI - Link

2.Установите учетные данные администратора (необязательно) - Ссылка

$ set GOOGLE_APPLICATION_CREDENTIALS=path\to\key.json
$ firebase emulators:start

После выполнения этих шагов ваши функциональные тесты могут получить доступ к Firebase и API Google с помощью Admin SDK.Например, при тестировании триггера аутентификации эмулируемая функция может вызывать admin.auth (). GetUserByEmail (email).

ВОПРОС

Что такоеРазница между двумя методами локального запуска функций?

1 Ответ

2 голосов
/ 16 июня 2019

firebase emulators:start является частью нового пакета эмуляторов Firebase, который предназначен для совместной работы нескольких эмулируемых продуктов.Он полностью отличается от firebase serve --only functions, который основан на пакете @ google-cloud / functions-emulator npm , который активно не поддерживается (нажмите на ссылку, и вы увидите, что она устарела).Рекомендуется начать переходить на новый набор эмуляторов и подальше от firebase serve.

...