reactjs - 如何将单个反应代码库扩展到多个 firebase 项目?
问题描述
我有一个使用 firebase 后端的反应 Web 应用程序。我目前有 2 个项目,一个用于测试,一个用于生产。我使用 2 个不同的分支并使用 firebase CLI 手动部署它们。我想扩展生产站点并拥有 10 多个衍生产品。我想使用自己的数据库/功能为每个站点创建一个不同的 firebase 项目。
这样做的最佳方法是什么?我可以使用自定义 .env。文件,每个项目一个,用于存储项目配置?
如何使用“firebase deploy production”之类的单个命令部署到多个项目,该命令使用正确的环境配置将构建部署到每个项目。
解决方案
我想出了以下方法:
1.为每个spin-of创建一个firebase项目(有自己的托管url和db)
2.用环境变量替换像projectId和api-key这样的firebase配置变量:
const projectId = process.env.REACT_APP_FIREBASE_PROJECT_ID;
const apiKey = process.env.REACT_APP_FIREBASE_API_KEY;
const config = {
apiKey,
projectId,
authDomain: `${projectId}.firebaseapp.com`,
databaseURL: `https://${projectId}.firebaseio.com`,
storageBucket: `${projectId}.appspot.com`,
};
firebase.initializeApp(config);
3.为构建的每个项目独立设置环境变量并部署它,同时使用选项指定项目-P
REACT_APP_FIREBASE_PROJECT_ID=<projectId> REACT_APP_FIREBASE_API_KEY=<key> yarn build && firebase deploy --only hosting -P <projectId>
4.为每个项目执行cmd(可能将它们全部放在一个脚本中,以便能够使用单个命令部署到所有项目)
推荐阅读
- r - 确定一个值是否与之前匹配的组中的 id 匹配
- html - 在 Outlook 黑色主题模式下使 Outlook HTML 模板按钮背景透明
- react-native - 如何在 const 函数中导航 [react native]
- javascript - ReactJs中保存时获取数据数组
- android - Flutter firestore QuerySnapshot 在 Android 中没有 getter 'documents' 的实例
- python - 如何在不使用内置函数的情况下计算协方差和相关性?
- angular - 在 Angular 10 服务中创建 TemplateRef
- nsis - 知道一个部分是否已经执行了另一个部分
- linux - Bash 条件表达式 (-v) 检查是否设置了变量
- ios - iOS 企业分发证书创建不会创建私钥