初始化 firebase 模拟器存储

initialize firebase emulator storage

有没有办法使用 firebase 存储模拟器进行本地开发?

我发现这些天应该可以使用我猜的 firebase 工具,但我不知道如何将它包含在我的代码中。

这是我的本地主机的 firebase 配置

import firebase from "firebase/app"
import "firebase/auth"
import "firebase/firestore"
import "firebase/functions"
import "firebase/storage"
import "firebase/database"

 firebase.initializeApp({
   apiKey: "-------------------",
   authDomain: "http://localhost:9099",
   databaseURL: "http://localhost:9000?ns=project-name",
   projectId: "project-name",
   storageBucket: "default-bucket",
   messagingSenderId: "--------------",
   appId: "----------------------",
   measurementId: "-----------------",
})

firebase.firestore().settings({ host: "localhost:8080", ssl: false })
firebase.auth().useEmulator("http://localhost:9099")
firebase.functions().useEmulator("http://localhost5001")
firebase.database().useEmulator("http://localhost:9090")

现在,当我尝试在存储桶中存储内容时,会执行此 url:

https://firebasestorage.googleapis.com/v0/b/default-bucket/o?name=test-file.csv

据我了解,应用程序没有获取任何本地存储域,只有 firebase 云存储域

如果您使用的是 web sdk v8,您可以像这样将其添加到您的代码中:

var storage = firebase.storage();
storage.useEmulator("localhost", 9199); 

此处的文档对此进行了概述:https://firebase.google.com/docs/emulator-suite/connect_storage#web-v8

当您在终端运行中输入命令firebase emulators:start时,确保存储模拟器运行正在运行

以防有人遇到同样的问题。

我使用的是 firebase 8.2.3,根据 SDK 的可用性,我应该使用 firebase 8.4.0 或更高版本

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