Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将单个react代码库扩展到多个firebase项目?_Reactjs_Firebase_Firebase Hosting_Firebase Cli - Fatal编程技术网

Reactjs 如何将单个react代码库扩展到多个firebase项目?

Reactjs 如何将单个react代码库扩展到多个firebase项目?,reactjs,firebase,firebase-hosting,firebase-cli,Reactjs,Firebase,Firebase Hosting,Firebase Cli,我有一个使用firebase后端的react web应用程序。我目前有两个项目,一个用于测试,一个用于生产。我使用2个不同的分支,并使用firebase CLI手动部署它们。我想扩大生产基地,并有10多个副产品。 我希望每个站点都有一个不同的firebase项目,使用自己的数据库/功能 这样做的最佳方法是什么?我可以使用custom.env吗。每个项目一个文件,用于存储项目配置 如何使用单个命令(如“firebase deploy production”)部署到多个项目,该命令使用正确的环境配置

我有一个使用firebase后端的react web应用程序。我目前有两个项目,一个用于测试,一个用于生产。我使用2个不同的分支,并使用firebase CLI手动部署它们。我想扩大生产基地,并有10多个副产品。 我希望每个站点都有一个不同的firebase项目,使用自己的数据库/功能

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


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

我提出了以下方法:

1.为的每个旋转创建一个firebase项目(有自己的托管url和db)

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.为构建的每个项目单独设置env变量,并在使用选项
-p

REACT_APP_FIREBASE_PROJECT_ID=<projectId> REACT_APP_FIREBASE_API_KEY=<key> yarn build && firebase deploy --only hosting -P <projectId>
REACT\u APP\u FIREBASE\u PROJECT\u ID=REACT\u APP\u FIREBASE\u API\u KEY=warn build&FIREBASE deploy——仅托管-P

4.为每个项目执行cmd(可能可以将它们全部放在一个脚本中,以便能够使用单个命令部署到所有项目)

查看Firebase CLI部署目标:,它似乎适合您尝试执行的操作。使用部署目标,我可以指定同一项目的多个托管站点。因为我每个项目只能有一个firestore,所以我需要这些托管站点成为不同项目的一部分。我是否需要创建一个自定义脚本,使用“firebase use”在项目之间切换并单独部署它们?嗯。。。。说得好。您确实可以编写脚本来更改项目。