npm i --save nativescript-firebase
- 版本:0.1.1
- GitHub: https://github.com/lyonzy/nativescript-firebase
- NPM: https://npmjs.net.cn/package/nativescript-firebase
- 下载
- 昨天: 0
- 上周: 0
- 上个月: 0
nativeScript-firebase
这是一个与 Nativescript 兼容的 Firebase node.js SDK 包装器。
许可证
本模块采用 MIT 许可证。Firebase 和其他模块有不同的许可证。
安装
tns plugin add nativescript-firebase
使用
与 node.js 中的 Firebase 完全相同
var Firebase = require("nativescript-firebase");
var fb = new Firebase("some-app.firebaseio.com");
本模块使用实际的 Firebase node.js SDK(见 package.json 依赖项)。
工作原理
本模块以捆绑模块的形式提供 Firebase node.js SDK 所需的一些依赖项。版本 0.0.1 和 0.0.2 使用了修改后的 require
函数,但我更改了这一点,因为大约在 Nativescript 1.5.0 版本之后,他们似乎用每个模块提供的参数替换了全局 require
,这意味着无法覆盖。
捆绑的模块主要是其他模块的包装,或者 Nativescript 的内部功能。它们包括:
_stream_duplex
(使用readable-stream
)_stream_readable
(使用readable-stream
)_stream_writable
(使用readable-stream
)emitter
(使用tiny-emitter
,它与 Nativescript 兼容)faye-websocket
(使用nativescript-websockets
- 见下文)https
(使用https-browserify
,它又使用 Nativescript 的XMLHttpRequest
)inherits
(使用inherits-browser.js
)
我将 faye-websocket
和 inherits
包装器的版本号设置为 999.9.9,以覆盖更深层次依赖项中的模块。
以下模块也被使用,并且无需额外操作即可与 Nativescript 兼容:
buffer
events
util
(需要自定义inherits
)
以下全局变量也被创建,以使修改后的模块和 Firebase 一起工作:
process
(带有version
、nextTick
、platform
和env
)window
(带有XMLHttpRequest
)buffer
(使用buffer
模块)
这是通过 NathanaelA 的 nativescript-websockets 模块的修改版本实现的,该版本为 一个 SSL 问题 提供了解决方案。此模块是 Firebase 所需的 faye-websocket
模块的替代品。
限制和警告
本模块尚未经过严格测试。以下是我能正常工作的功能
- 使用主密钥登录
- 使用 OAuth 令牌登录(需要
https
模块) - 使用
once()
和on()
获取一些数据 - 使用
push()
设置数据
大多数功能应该都能正常工作,但可能还需要更多的错误修复。我在我的项目中使用它,因此随着我使用它的频率增加,它将得到进一步的测试。
请注意,由于 这个问题,本模块可能与 Nativescript 1.5.1 存在问题。