Firebase Storage Web - 创建引用不起作用

Firebase Storage Web - creating reference does not work

我已经尝试过与 firebase 文档中给出的完全相同的东西。但这是我得到的错误。

 functions: Failed to load functions source code. Ensure that you have
 the latest SDK by running **npm i --save firebase-functions** inside the
 functions directory.

 functions: Error from emulator. FirebaseError: Error occurred while
 parsing your function triggers.

TypeError: storage.ref is not a function
    at Object.<anonymous> (/Users/user1/projects/newproj/functions/index.js:15:26)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at /usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:18:11
    at Object.<anonymous> (/usr/local/lib/node_modules/firebase-tools/lib/triggerParser.js:32:3)

代码:

let firebaseApp = firebase.initializeApp(functions.config().firebase);
const storage = firebaseApp.storage();
let storageRef = storage.ref('.../abc.pdf');

IDE 在 .ref 处抛出错误,指出 属性 ref 在 [=21 上不存在=]存储.

函数依赖:

"dependencies": {
    "@google-cloud/functions-emulator": "^1.0.0-alpha.29",
    "express": "^4.16.1",
    "firebase": "^4.6.2",
    "firebase-admin": "^5.8.2",
    "firebase-functions": "^0.8.1",
    "grpc": "^1.9.0"
  }

您的代码似乎 运行 在 Cloud Functions 中,这是一个服务器端 Node.js 环境。您可以使用 firebase-admin 从您的代码中调用其他 Firebase 服务。

但是您使用的 FirebaseStorage.ref() 方法来自 Firebase 存储客户端 SDK。它在 Admin SDK 中不可用。

要准确了解您可以从 admin.storage 中使用什么,请查看 reference documentation and the Introduction to the Admin Cloud Storage API。您会看到此文档未包含对您尝试调用的 ref() 方法的引用。