小编典典

TypeError:firebase.storage不是函数

node.js

示例之后,我不断收到错误:

 TypeError: firebase.storage is not a function

从我的代码这一行:

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

(而且,当我只是尝试从与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。但是我坚持使用storage,并尝试了admin.storage().ref()firebase.storage().ref(),并firebase.storage().ref("/")使用了相同的错误消息。

我也尝试过:

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

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

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

我正在使用:

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

如何成功创建对存储的引用?


阅读 355

收藏
2020-07-07

共1个答案

小编典典

已弃用,请参见下文:

根据此答案,google-cloud应在Node.js中使用包存储来代替Firebase存储,并且似乎可以肯定此答案。代码示例:

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')

另请查看文档以了解更多信息。

2020-07-07