在此示例之后,我不断收到错误:
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 db = admin.database()
var ref = db.ref("/")
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参数()和带有"/"…,但有相同的消息,但无济于事。
ref()
()
"/"
我正在使用:
如何成功创建对存储的引用?
已弃用,请参见下文:
根据此答案,google-cloud应在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')
另请查看文档以了解更多信息。