Web应用接入Firebase Storage报错:storage.useEmulator不是函数
问题原因
你当前使用的Firebase Web SDK版本为8.3.0,Storage模块的useEmulator接口是在8.10.0及更高版本的v8系列SDK中才正式新增的,低版本SDK没有内置该方法,因此调用时会抛出函数不存在的错误。
解决方案
方案1:升级Firebase SDK到8.10.0或更高的v8稳定版
将你引入Storage模块的地址中的版本号替换为符合要求的版本即可,示例如下:http://localhost:5000/__/firebase/8.10.0/firebase-storage.js升级时请确保所有引入的Firebase相关模块(如核心库、Firestore库等)版本号保持一致,避免出现跨版本兼容错误。升级完成后你原本编写的
useEmulator调用代码即可正常生效,会正确连接本地9199端口的Storage模拟器。方案2:不升级SDK,使用低版本兼容连接方式
如果暂时无法升级SDK版本,可以通过手动指定存储桶地址的方式连接模拟器,代码如下:// 把<你的存储桶名称>替换为你Firebase项目对应的实际存储桶名即可 var storage = firebase.app().storage("localhost:9199/<你的存储桶名称>");
内容的提问来源于stack exchange,提问作者Witek
相关产品推荐
相关产品推荐

