将 firebase-admin 与 Deno 一起使用的可能方法
possible way to use firebase-admin with Deno
由于 Deno 刚刚在几天前发布了稳定版本,是否有可能将 firebase-admin 与 Deno 一起使用?
在此 post 时,Google 文档和 Firebase 存储库均不支持 Deno。
https://firebase.google.com/docs/admin/setup
https://github.com/firebase?q=firebase-admin
也许他们已经在努力了,我不知道。您可以联系他们并做一个 feature request 并询问您能提供什么帮助。
正如@Evandro Pomatti 所指出的,firebase 团队没有官方支持将其作为原生 Deno 模块。但是,NPM 模块可以在 Deno 代码库中使用,那么为什么不直接使用现有的 firebase-admin
代码库呢?
见
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
似乎通过一些 polyfill 支持 Firebase。 https://deno.com/deploy/docs/tutorial-firebase
但是您可能会遇到障碍。如果这对你有用,请告诉我。
由于 Deno 刚刚在几天前发布了稳定版本,是否有可能将 firebase-admin 与 Deno 一起使用?
在此 post 时,Google 文档和 Firebase 存储库均不支持 Deno。
https://firebase.google.com/docs/admin/setup
https://github.com/firebase?q=firebase-admin
也许他们已经在努力了,我不知道。您可以联系他们并做一个 feature request 并询问您能提供什么帮助。
正如@Evandro Pomatti 所指出的,firebase 团队没有官方支持将其作为原生 Deno 模块。但是,NPM 模块可以在 Deno 代码库中使用,那么为什么不直接使用现有的 firebase-admin
代码库呢?
见
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
似乎通过一些 polyfill 支持 Firebase。 https://deno.com/deploy/docs/tutorial-firebase
但是您可能会遇到障碍。如果这对你有用,请告诉我。