首页 > 解决方案 > 如何将单个反应代码库扩展到多个 firebase 项目?

问题描述

我有一个使用 firebase 后端的反应 Web 应用程序。我目前有 2 个项目,一个用于测试,一个用于生产。我使用 2 个不同的分支并使用 firebase CLI 手动部署它们。我想扩展生产站点并拥有 10 多个衍生产品。我想使用自己的数据库/功能为每个站点创建一个不同的 firebase 项目。

这样做的最佳方法是什么?我可以使用自定义 .env。文件,每个项目一个,用于存储项目配置?

如何使用“firebase deploy production”之类的单个命令部署到多个项目,该命令使用正确的环境配置将构建部署到每个项目。

标签: reactjsfirebasefirebase-hostingfirebase-cli

解决方案


我想出了以下方法:

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(可能将它们全部放在一个脚本中,以便能够使用单个命令部署到所有项目)


推荐阅读