如何使用打字稿在 Firebase 云函数中初始化管理员凭据?

Seb*_*min 1 node.js firebase typescript google-cloud-functions

我在 javascript 中使用 Firebase 云函数。我使用这个简单的代码来初始化管理员。

admin.initializeApp({
  credential: admin.credential.cert(require('./key/firebase-adminsdk.json')),
  databaseURL: "https://app.firebaseio.com"
});
Run Code Online (Sandbox Code Playgroud)

在打字稿的情况下,相同的代码似乎不起作用。我收到这个错误

?  functions: Finished running predeploy script.
i  functions: ensuring necessary APIs are enabled...
?  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...

Error: Error parsing triggers: Cannot find module './key/firebase-adminsdk.json'
Run Code Online (Sandbox Code Playgroud)

我的文件夹结构是这样的,路径是正确的。

??? src
?   ??? keys
?   ?   ??? firebase-adminsdk.json
?   |?? index.ts
Run Code Online (Sandbox Code Playgroud)

Seb*_*min 5

打字稿编译到不同的文件夹中,/libs并且在./keys/firebase-adminsdk.json其中不可用。

我将 keys 文件夹上移一级并修改了代码(注意../key)。

admin.initializeApp({
  credential: admin.credential.cert(require('../key/firebase-adminsdk.json')),
  databaseURL: "https://app.firebaseio.com"
});

??? key
?   ??? firebase-adminsdk.json
??? lib
?   ??? indexjs
??? src
?   ??? index.ts
Run Code Online (Sandbox Code Playgroud)