Firebase + Node.js:错误:找不到XMLHttpRequest兼容性库

Jaa*_*aap 13 javascript node.js firebase

Firebase + Node.js

在iOS上:

  1. 已安装Node.js.
  2. npm install firebase --save
  3. node test.js

test.js是一个非常简单的脚本连接到Firebase:

var firebase = require("firebase/app");
require("firebase/auth");

var config = {
   ...
};

var app = firebase.initializeApp(config); // Works fine
firebase.auth().signInWithEmailAndPassword(…); // Throws error
Run Code Online (Sandbox Code Playgroud)

抛出的错误是

Error: The XMLHttpRequest compatibility library was not found.
Run Code Online (Sandbox Code Playgroud)

我在俯瞰什么?谢谢.

Orl*_*ter 15

通过使用Angularfire2和Universal Server Side渲染,我遇到了同样的问题.我已经通过添加xmlhttprequest到我的server.js文件解决了它.

像这样:

npm install xmlhttprequest --save

并添加如下:

global.XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;

也许它有助于某人!

  • 我做了这个,忘了它,然后花了三天时间尝试调试firebase存储上传问题.这个软件包干扰了firebases上传文档的能力.谨防. (2认同)

Jaa*_*aap 10

Mmmhhh.有趣.通过将多个"require"行(取自Firebase文档)更改为单个行:

var firebase = require("firebase");
Run Code Online (Sandbox Code Playgroud)

它开始工作得很好.


Geo*_*ugu 5

要使Firebase服务器端渲染正常工作,您需要安装:

  • npm i xmlhttprequest ws -s
  • npm i bufferutil utf-8-validate -s

然后在server.ts文件(在根文件夹中找到)添加:

(global as any).XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
Run Code Online (Sandbox Code Playgroud)

阅读有关本教程的更多信息:这里