firebase云功能中带有Typescript的firebase-admin

Yuu*_*ama 4 firebase typescript google-cloud-functions firebase-admin

我正在将firebase云功能与云功能上的javascript一起使用。而且,我想从javascript切换到打字稿。

但是,由于以下命令失败,因此无法在打字稿上使用firebase-admin。

command: npm install @types/firebase-admin --save-dev
error:  '@types/firebase-admin' is not in the npm registry.
Run Code Online (Sandbox Code Playgroud)

根据此发行说明,firebase管理员支持打字稿。有人可以告诉我们如何在云功能上将typescript与firebase-admin一起使用吗?

https://firebase.google.com/support/release-notes/admin/node#4.1.3

frf*_*dev 18

另一种选择可能是这样的。

import * as admin from 'firebase-admin';
import * as serviceAccount from './service-account.json';

const firebaseAdmin = admin.initializeApp({
   credential: admin.credential.cert(serviceAccount as admin.ServiceAccount)
});
Run Code Online (Sandbox Code Playgroud)


Mic*_*igh 8

您不需要安装@types模块,因为firebase-admin包装盒中附带TypeScript支持。您只需安装就能将它与TypeScript一起使用firebase-admin


Pet*_*man 7

使用 ES6 模块导入时似乎提供了类型:

  1. tsconfig.json
{
    "compilerOptions": {
        "resolveJsonModule": true,               // json imports
        "esModuleInterop": true,                 // import common modules as ES6 Modules
        "allowSyntheticDefaultImports": true,    // support typesystem compatibility
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. index.ts
{
    "compilerOptions": {
        "resolveJsonModule": true,               // json imports
        "esModuleInterop": true,                 // import common modules as ES6 Modules
        "allowSyntheticDefaultImports": true,    // support typesystem compatibility
    }
}
Run Code Online (Sandbox Code Playgroud)

  • `const db = firebase.firestore()` 的类型是什么?我似乎无法在任何地方找到适用于它的打字稿类型,我尝试过 `firebase.FirebaseFirestore` 和许多其他方法都无济于事。 (4认同)