javascript - 如何使用特定于环境的 firebase 配置来初始化 firebase 应用程序?
问题描述
我有一个带有两个 firebase 配置的 react 应用程序,一个用于暂存环境,一个用于 prod 环境。
const firebaseConfig = {
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "xxxxxxxxxxxxxxxxxxxxxxxx",
databaseURL: "xxxxxxxxxxxxxxxxxxxxxxxx",
projectId: "xxxxxxxxxxxxxxxxxxxxxxxx",
storageBucket: "xxxxxxxxxxxxxxxxxxxxxxxx",
messagingSenderId: "xxxxxxxxxxxxxxxxxxxxxxxx",
appId: "xxxxxxxxxxxxxxxxxxxxxxxx",
measurementId: "xxxxxxxxxxxxxxxxxxxxxxxx"
};
const prodFirebaseConfig = {
apiKey: "-----------------------------",
authDomain: "-----------------------------",
databaseURL: "-----------------------------",
projectId: "-----------------------------",
storageBucket: "-----------------------------",
messagingSenderId: "-----------------------------",
appId: "-----------------------------",
measurementId: "-----------------------------"
}
现在,我想要一些东西,比如当我将我的应用程序部署到生产环境时,我应该使用生产配置初始化我的应用程序,否则使用暂存配置。
// Something like this
if(env === 'prod') {
const myFirebase = firebase.initializeApp(prodFirebaseConfig );
} else {
const myFirebase = firebase.initializeApp(firebaseConfig);
}
就像在暂存环境中运行的应用程序应该使用 staging firebase,而在生产环境中运行的应用程序应该使用 prod firebase。我正在使用 webpack 构建文件。
我是firebase的新手,任何有关管理此和多个部署的最佳方法的帮助将不胜感激。
谢谢
解决方案
推荐阅读
- javascript - 显示部分时增加数字
- jupyter-notebook - 当我导入torchvision 时,我得到一个错误,pytorch 和torchvision 的cuda 版本不同
- android - 使用音频播放器颤动没有声音
- git - 如何比较两个 git 分支以获取提交哈希值
- php - PDO 在多个列中搜索相同的关键字
- vue.js - Vuejs - 如何在单个表单中仅提交可见元素(使用 Vuelidate)
- c++ - 对异步运行并发出信号的命令使用撤消堆栈
- java - java中的getPartActionList方法应该是静态的还是非静态的?
- javascript - 使用正则表达式将输入格式化为货币格式
- python - requests.get 不会返回网页上的所有信息