3

由于几天前 Deno 刚刚发布了稳定版本,有没有可能在 Deno 中使用 firebase-admin 的方法?

4

2 回答 2

6

Google 文档和 Firebase 存储库均不支持 Deno。

https://firebase.google.com/docs/admin/setup

https://github.com/firebase?q=firebase-admin

他们可能已经意识到这一点,但是添加一个新平台是一项艰巨的任务,因为他们必须支持完整的堆栈,而不仅仅是管理员。也许他们已经在努力了,我不知道。

您可以与他们联系并提出功能请求并询问您如何提供帮助。

于 2020-05-17T15:00:59.033 回答
1

正如@Evandro Pomatti 指出的那样,firebase 团队没有官方支持作为原生 Deno 模块。但是,NPM 模块可以在 Deno 代码库中使用,那么为什么不直接使用现有的firebase-admin代码库呢?

请参阅如何在 DENO 中使用 npm 模块?

import { createRequire } from 'https://deno.land/std/node/module.ts';

const require = createRequire(import.meta.url);
const admin = require('firebase-admin');

const text = await Deno.readTextFile('path/to/serviceAccountKey.json');
const adminKey = JSON.parse(text);

admin.initializeApp({
    credential: admin.credential.cert(adminKey),
    databaseURL: 'https://databaseName.firebaseio.com'
});

const db = admin.database();
const ref = db.ref('restricted_access/secret_document');
ref.once('value', function(snapshot) {
    console.log(snapshot.val());
});

由于默认情况下 Deno 是一个安全的运行时,因此读取文件需要使用以下--allow-read命令的显式权限

deno run --allow-read=node_modules myfile.ts
于 2021-03-16T05:57:18.177 回答