如何将单个React代码库扩展到多个Firebase项目?

时间:2018-10-12 13:22:10

标签: reactjs firebase firebase-hosting firebase-cli

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

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

如何使用单个命令(如“ firebase部署生产”)将其部署到多个项目,该命令使用正确的环境配置将构建部署到每个项目。

1 个答案:

答案 0 :(得分:1)

我想出了以下方法:

1。为每次旋转创建一个firebase项目(具有自己的托管网址和数据库)

2。将firebase配置变量(例如projectId和api-key)替换为env变量:

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(可能可以将它们全部放在一个脚本中,从而能够通过一个命令将其部署到所有项目中)