firebase - 从 firebase 函数触发器访问 firebase 托管文件
问题描述
我有 2 个存储库,一个用于 firebase 功能,另一个用于静态 firebase 托管反应站点。他们都使用相同的firebase项目。
myfirebaseproject
--- firebase functions
--- firebase hosting
------index.html
我可以从 firebase-function 读取我的 firebase-hosting 文件吗?
let indexHTML = fs.readFileSync('pathToFirebaseHosting/index.html').toString();
解决方案
要意识到的一件重要事情是,Firebase 托管和 Cloud Functions 是完全不同的产品,并且在非常临时和瞬态的 Cloud Functions 实例中没有简单的托管文件可用的本地路径。所有东西都没有捆绑在一个地方(根本无法扩展)。
由于托管文件都是公开的,因此弗兰克说的是对的 - 只需根据您的需要发出 HTTP 请求。我建议改用 request-promise 模块,因为它为您提供了一个基于 Promise 的界面,在 Cloud Functions 中更易于使用。
请注意,如果您想发出这样的传出 HTTP 请求,您必须在您的项目上启用计费。否则,Cloud Functions 将不允许请求发生。另请注意,来自 Cloud Functions 和 Hosting 的出站和入站将产生额外费用。因此,如果您经常提出此请求,预计会产生一些与之相关的费用。
如果您只想在 Cloud Function 中使用一些静态文件而无需发出外部请求,只需将这些文件复制到您的函数文件夹中,然后将它们与您的代码一起部署即可。您将能够在本地阅读它们,您无需启用计费即可尝试,并且不会产生出入费。它也会更快。
推荐阅读
- listview - 刷卡删除recyclerview中的行
- html - 使 SASS 中的顶部导航具有响应性
- laravel - Laravel - 将所有路由请求指向单个视图或功能
- java - 如何在@Async 方法中测试异常?
- mysql - MySQL 查询在 mysql 工作台中有效,但在 python 脚本中无效
- google-apps-script - 如何授予查看执行日志的权限
- asp.net-core - ConfirmEmal 的令牌无效
- javascript - 卡在 window.close() javascript函数中
- flutter - 如何在 Flutter 中使用第三方包计算代码(Dio 和 path_provider)
- reactjs - 在反应 js 中打开模态时,背景组件不可用