ReactNative上的Firebase客户端

ReactNative上的Firebase客户端,firebase,reactjs,react-native,Firebase,Reactjs,React Native,在ReactNative上使用Firebase时,将显示以下错误消息: 找不到变量进程 但是,如果我手动要求firebase/lib/firebase web.js,它将显示: 找不到变量文档 如何解决这个问题?我在尝试在react native应用程序中使用sockets.io时遇到了同样的问题,希望我能提供帮助 无法使用firebase的节点模块的原因是,尚未为react native中的websockets支持(firebase依赖于此)创建polyfill 如果您查看react nati

在ReactNative上使用Firebase时,将显示以下错误消息:

找不到变量进程

但是,如果我手动要求
firebase/lib/firebase web.js
,它将显示:

找不到变量文档


如何解决这个问题?

我在尝试在react native应用程序中使用sockets.io时遇到了同样的问题,希望我能提供帮助

无法使用firebase的节点模块的原因是,尚未为react native中的websockets支持(firebase依赖于此)创建polyfill

如果您查看react native的repo,您将发现当前关于创建websockets api polyfill的讨论

我们解决这个问题的方法是使用Jason修改过的sockets库,并围绕该文件创建一个新的文件。然后,我们在package.json依赖项中添加了下面的行

"react-sockets": "crewapp/react-native-sockets-io"

Jason版本的sockets.io客户端文件之所以有效,是因为react native作为用户代理添加。您可以在文件顶部找到进行此更改的代码:

window.navigator = {
  userAgent: "react-native"
}

一旦你完成了这些步骤,你应该能够要求/像平常一样

我只是想知道。Pavan的回答很有帮助,但与Firebase一起使用时却不太正确

对于firebase,请按照以下步骤操作:

  • 从下载
    firebase debug.js
    。或者,您也可以通过npm安装wsExample,并在其内部安装
    firebase debug.js
  • 使用badfortrains的分叉反应本机:

    "react-native": "git://github.com/badfortrains/react-native#WebSocket"
    
  • 新的Firebase如下所示:

    var firebase = require("../../firebase-debug.js");
    var rootRef = new Firebase(Const.FB_ROOT);
    

  • 事情现在就应该开始了

    React Native上的socket.io也有问题,解决方案是获取关于新数据的通知,如果数据足够大,则通过简单的RESTfull请求获取。在我的例子中,数据足够小,可以在API中发送所有通知


    我使用GCM服务从nodejs服务器向手机发送通知。顺便说一句,它使用的电池比插座连接少,而且效果很好:)

    你可以通过Jason在这里所做的事情来解决问题:你可能想跟随这里的讨论:那么这是使用firebase web吗?