Firebase Emulatorの導入
追加している機能
- Firestore: Configure security rules and indexes files for Firestore
- Functions: Configure a Cloud Functions directory and its files
- Storage: Configure a security rules file for Cloud Storage
- Emulators: Set up local emulators for Firebase products
- Authentication Emulator
- Functions Emulator
- Firestore Emulator
- Storage Emulator
- Emulator UI - Remote Config: Configure a template file for Remote Config
Emulator の使い方
https://firebase.google.com/docs/emulator-suite?hl=ja
Emulator では、擬似的に firebase の各機能をローカル環境で再現することができ、
実際の firebase プロジェクトに接続することなく、デバッグなどの検証をすることができます。
実行方法
# functionsに更新がある場合は、事前にビルドしておく
cd ./functions # functionsフォルダに移る
npm run build # ビルド
cd .. # firebaseフォルダに戻る
# エミュレーターの起動
firebase emulators:start
# 起動に成功すると以下のような表示がされる
# 各機能のURL(host, port)が表示されるので、ローカル環境ではそこに向けてリクエストを送る
# Emulator UIを使いたい場合は、http://127.0.0.1:4000/ をブラウザで開く
✔ functions: Loaded functions definitions from source: helloWorld.
✔ functions[us-central1-helloWorld]: http function initialized (http://127.0.0.1:5001/oshikatsu-dev-8bb0d/us-central1/helloWorld).
┌─────────────────────────────────────────────────────────────┐
│ ✔ All emulators ready! It is now safe to connect your app.│
│ i View Emulator UI at http://127.0.0.1:4000/ │
└─────────────────────────────────────────────────────────────┘
┌────────────────┬────────────────┬─────────────────────────────────┐
│ Emulator │ Host:Port │ View in Emulator UI │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Authentication │ 127.0.0.1:9099 │ http://127.0.0.1:4000/auth │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Functions │ 127.0.0.1:5001 │ http://127.0.0.1:4000/functions │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Firestore │ 127.0.0.1:8080 │ http://127.0.0.1:4000/firestore │
├────────────────┼────────────────┼─────────────────────────────────┤
│ Storage │ 127.0.0.1:9199 │ http://127.0.0.1:4000/storage │
└────────────────┴────────────────┴─────────────────────────────────┘
Emulator Hub running at 127.0.0.1:4400
Other reserved ports: 4500, 9150