首先,我使用npm初始化项目。
npm init
npm install --save firebase
之后,我编写了以下代码并使用node.js稳定版本(v8.9.4(。
执行const firebase = require('firebase');
const config = {
apiKey: '<API_KEY>',
authDomain: '<MY_PROJECT>.firebaseapp.com',
databaseURL: 'https://<MY_PROJECT>.firebaseio.com/',
storageBucket: 'gs://<MY_PROJECT>.appspot.com/'
}
firebase.initializeApp(config);
const storage = firebase.storage();
然后将发生以下错误:
TypeError: firebase.storage is not a function
at Object.<anonymous> (/Users/myuser/sandbox/google/storage_sample/index.js:12:26)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
我推荐了官方的firebase文件。
如果我使用" firebase-admin",没有问题,这也像下面一样作品。
const admin = require('firebase-admin');
var serviceAccount = require('./AUTH_FILE.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<MYPROJECT>.firebaseio.com",
storageBucket: '<MYPROJECT>.appspot.com/'
});
const storage = admin.storage();
const bucket = storage.bucket();
bucket.
getFiles().then(results => {
const files = results[0];
console.log("Files:");
files.forEach(file => {
console.log(file.name);
});
}).catch(err => {
console.error("Error:", err);
});
是访问JavaScript中云存储以使用" Firebase-Admin"的唯一方法?还是我的代码中有任何错误?
如果您在node.js上运行,则正确的库是firebase-admin,如您所发现的。
Web SDK用于在浏览器中运行,您不在。