Firebase 存储没有名为 useStorageEmulator 的导出

Posted

技术标签:

【中文标题】Firebase 存储没有名为 useStorageEmulator 的导出【英文标题】:Firebase Storage no export named useStorageEmulator 【发布时间】:2021-10-31 06:29:52 【问题描述】:

我正在使用 typescript 构建一个 react 应用程序,并希望将其托管在 firebase 上。我想在部署之前使用云存储来存储要服务的内容并在本地对其进行测试。我正在尝试让存储模拟器工作。

按照此处的指南进行操作:https://firebase.google.com/docs/emulator-suite/connect_storage 我正在尝试使用它描述的存储模拟器钩子:

import  getStorage, useStorageEmulator  from "firebase/storage";

但我从 typescript 收到以下错误:

Attempted import error: 'useStorageEmulator' is not exported from 'firebase/storage'.

文档提到这是来自新的 v9 sdk:https://firebase.google.com/docs/web/modular-upgrade。 我已经尝试了几个不同版本的版本,但没有成功。目前我的package.json中有这个版本:

"firebase": "^9.0.1"

我还尝试了其他几个版本,包括 9.0.0^9.0.0-beta.8,但它们都给了我同样的错误。

这个错误对我来说似乎是真实的,因为当我查看该文件时,我没有看到任何名为 useStorageEmulator 的导出。但考虑到它是文档中的首页,我认为我更有可能有问题。

任何解决此问题的帮助将不胜感激。

【问题讨论】:

【参考方案1】:

原来这只是文档中的一个错误。由于与 React 的命名约定冲突,它被重命名。该函数实际上称为connectStorageEmulator。有一个 PR 来修复文档,这应该会在未来消除混乱。

【讨论】:

以上是关于Firebase 存储没有名为 useStorageEmulator 的导出的主要内容,如果未能解决你的问题,请参考以下文章

如何从 URL 中删除 Firebase 存储文件

React-Native:从 Firebase 存储下载图像

Firebase 存储安全规则不适用于文件夹

删除对象和存储 Angular Firebase

基于 Firestore 数据的 Firebase 云存储规则可以解决

用户已登录但无法通过 AngularFire 访问 Firebase 存储