类型错误:firebase.storage 不是函数

新手上路,请多包涵

按照 这个 例子,我不断收到错误:

  TypeError: firebase.storage is not a function

从我的代码中的这一行:

 var storageRef = firebase.storage().ref();

(当我只是尝试从 storage guide 初始化存储时,从 firebase 的 npm 站点 链接,我得到了同样的错误。)

在我的 Node.js 项目中,我包括以下库:

  • const firebase = require('firebase');
  • var admin = require('firebase-admin');
  • const fs = require('fs');

到目前为止,我已经成功地能够读取和写入 firebase 数据库,使用 var db = admin.database() 创建对数据库的引用,然后 var ref = db.ref("/") …所以我知道我已经正确配置了 Firebase 和 firebase-database。 But I’m stuck on storage , and have tried both admin.storage().ref() and firebase.storage().ref() , and firebase.storage().ref("/") with the same error message.

我也试过:

 var storage = firbase.storage();
var storageRef = storage.ref();

const app = firebase.initializeApp(config);
var storage = app.storage();

ref() 的无效参数 ()"/" … 但有相同的消息,但无济于事。

我在用着:

  • “firebase”:“^3.6.4”
  • “firebase-admin”:“^4.0.4”
  • Node.js:v6.9.1

我必须怎么做才能成功创建对存储的引用?

原文由 NonCreature0714 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 565
2 个回答

弃用,见下文:

根据 这个答案,在 Node.js 中,而不是 firebase 存储,应该使用 google-cloud 包存储,看来 这个答案 应该证实了这一点。代码示例:

 npm i --save google-cloud

然后:

 const gcloud = require('google-cloud')

const storage = gcloud.storage({
    projectId: '<projectID>',
    keyFilename: 'service-account-credentials.json',
});

const bucket = storage.bucket('<projectID>.appspot.com')

截至 2018 年,这是正确答案:

或者只使用包的存储部分:

 npm install --save @google-cloud/storage

接着:

 var storage = require('@google-cloud/storage')

另请查看 文档 以获取更多信息。

原文由 Selfish 发布,翻译遵循 CC BY-SA 4.0 许可协议

我遇到了同样的问题。就我而言,除了 Firebase 核心之外,我还需要包括存储模块。

 import firebase from 'firebase/app';
import 'firebase/storage';  // <----

firebase.initializeApp({
  ...
});
const storageRef = firebase.storage().ref();

(npm firebase v5.0.4)

原文由 Ginpei 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题