作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过我的 Expo 应用程序在物理设备和模拟设备上访问 firestore 模拟器(本地托管),但这两者都不起作用。当我调用模拟的 Firestore 数据库(例如设置文档)时,它不会显示在 UI 上。但是,如果我为真正的 firestore 运行完全相同的代码,它会正常工作。
我的 firebase.json 配置是:
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"emulators": {
"firestore": {
"port": 8080
},
}
}
对于 Android 模拟器上的 Expo 应用程序,我将配置设置为:
firebase.firestore().settings({
host: "10.0.2.2:8080",
ssl: false,
})
对于我的 Android 物理设备上的 Expo 应用程序:
firebase.firestore().settings({
host: "localhost:8080",
//I've also tried "192.168.68.109:8080" my computer's IP
ssl: false,
})
最佳答案
事实证明,您需要将 firebase.json 上的主机指定为
"emulators": {
"firestore": {
"port": 8080
"host": "0.0.0.0"
},
对于物理设备上的 Expo 应用程序的配置,不要使用“localhost:8080”,而是使用您的计算机(或网络中的任何主机)的 IP 地址,后跟“:8080”。
如果这一切仍然不起作用,请在项目目录中尝试命令“firebase use
关于react-native - Expo 不适用于 firebase 模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65512580/
我是一名优秀的程序员,十分优秀!