我在云函数上使用了firebase云函数和javascript。而且,我想从javascript切换到typescript。
但是,我不能在typescript上使用firebase-admin,因为以下命令失败。
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
发布于 2017-05-28 10:52:17
您不需要安装@types模块,因为firebase-admin附带TypeScript支持。只需安装firebase-admin,就可以在TypeScript中使用它。
import * as admin from 'firebase-admin';发布于 2020-08-16 14:53:30
当使用ES6模块导入时,似乎提供了类型:
tsconfig.json{
"compilerOptions": {
"resolveJsonModule": true, // json imports
"esModuleInterop": true, // import common modules as ES6 Modules
"allowSyntheticDefaultImports": true, // support typesystem compatibility
}
}index.tsimport 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),
})发布于 2021-08-07 03:18:20
另一种选择可以是这种方式。
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)
});https://stackoverflow.com/questions/44220327
复制相似问题