首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >firebase-admin在firebase云函数中使用typescript

firebase-admin在firebase云函数中使用typescript
EN

Stack Overflow用户
提问于 2017-05-28 02:28:28
回答 5查看 9.6K关注 0票数 10

我在云函数上使用了firebase云函数和javascript。而且,我想从javascript切换到typescript。

但是,我不能在typescript上使用firebase-admin,因为以下命令失败。

代码语言:javascript
复制
command: npm install @types/firebase-admin --save-dev
error:  '@types/firebase-admin' is not in the npm registry.

根据此发行说明,firebase管理员似乎支持typescript。谁能告诉我们如何在云函数上使用typescript和firebase-admin?

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

EN

回答 5

Stack Overflow用户

发布于 2017-05-28 10:52:17

您不需要安装@types模块,因为firebase-admin附带TypeScript支持。只需安装firebase-admin,就可以在TypeScript中使用它。

代码语言:javascript
复制
import * as admin from 'firebase-admin';
票数 16
EN

Stack Overflow用户

发布于 2020-08-16 14:53:30

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

  1. tsconfig.json

代码语言:javascript
复制
{
    "compilerOptions": {
        "resolveJsonModule": true,               // json imports
        "esModuleInterop": true,                 // import common modules as ES6 Modules
        "allowSyntheticDefaultImports": true,    // support typesystem compatibility
    }
}

  1. index.ts

代码语言:javascript
复制
import firebase from 'firebase-admin';
import serviceAccount from './service-account.json';

const params = {               //clone json object into new object to make typescript happy
    type: serviceAccount.type,
    projectId: serviceAccount.project_id,
    privateKeyId: serviceAccount.private_key_id,
    privateKey: serviceAccount.private_key,
    clientEmail: serviceAccount.client_email,
    clientId: serviceAccount.client_id,
    authUri: serviceAccount.auth_uri,
    tokenUri: serviceAccount.token_uri,
    authProviderX509CertUrl: serviceAccount.auth_provider_x509_cert_url,
    clientC509CertUrl: serviceAccount.client_x509_cert_url
}

firebase.initializeApp({
    credential: firebase.credential.cert(params),
})
票数 8
EN

Stack Overflow用户

发布于 2021-08-07 03:18:20

另一种选择可以是这种方式。

代码语言:javascript
复制
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)
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44220327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档