编辑:以下解决方案适用于 Firebase“实时数据库”。它不适用于“Firestore”。在这里阅读差异。
1. Firebase 实时数据库分片
现在(2018 年 3 月),Firebase 实时数据库允许您创建多个实例。
官方文档:多数据库扩展
转到您的 Firebase 项目
在 Firebase 控制台中,转到该Develop > Database
部分的数据选项卡。Create new database
从“数据库”部分(右上角)的菜单中选择。
自定义您的数据库引用和安全规则,然后单击得到它。
(可选)修改新实例的Security rule
and Backup option
。
2. 用法
// Get the default database instance for an app
var database = firebase.database();
// Get a secondary database instance by URL
var database = firebase.database('https://testapp-1234.firebaseio.com');
3. 示例用法:不同的环境
firebase-config.js
const BUILD_LEVEL = "dev";
// const BUILD_LEVEL = 'stage'
// const BUILD_LEVEL = 'prod'
let config = {
apiKey: "your_apiKey",
authDomain: "your_authDomain",
projectId: "your_projectId",
storageBucket: "your_storageBucket",
messagingSenderId: "your_messagingSenderId"
};
if (BUILD_LEVEL === "dev") {
config.databaseURL = "https://your-project-dev.firebaseio.com/";
} else if (BUILD_LEVEL === "stage") {
config.databaseURL = "https://your-project-stage.firebaseio.com";
} else if (BUILD_LEVEL === "prod") {
config.databaseURL = "https://your-project-dev.firebaseio.com";
}
firebase.initializeApp(config);
现在要更改 Firebase 数据库实例,您只需更改BUILD_LEVEL
变量。
将此功能与Git/Github/Gitlab workflow
, Git hook
, webpack
,结合起来,CI/CD tool
您就有了一个非常灵活的解决方案。