Firebase 开发和实时版本

Firebase Development And Live Versions

我一直在寻找解决这个问题的方法。我不确定我错过了什么。但据我所知,我能够创建两个 firebase 数据库(实时和开发)并分别使用它们。但是,无论我做了什么,我在本地提供的版本仍然是从实时版本中提取的。这就是我所做的。

在 firebase 中创建了开发项目

运行 firebase use --add 添加 Development 作为别名

运行 firebase use 确认并返回以下内容:

default (live project-code)
development (development project-code)

运行 firebase use development

运行 firebase serve

现在,我想如果我加载 localhost:5000 我会看到空表,因为我的开发数据库是空的。相反,我仍然看到我的实时数据。

我是否认为此功能的作用比实际的要多,还是我只是遗漏了什么?

我将 Firebase 用于身份验证、数据库、存储、托管和功能。这都是基于 AngularJs.

的网络

更新

看来我找到了问题所在。在我的 app.js 文件中,我定义了数据库 url 并且我还有 firebase 配置块。

.constant('FirebaseDatabaseUrl', 'LiveProjectUrl')

.config(function($firebaseRefProvider, FirebaseDatabaseUrl, $routeProvider, $locationProvider) {
    var config = {
        apiKey: "",
        authDomain: "",
        databaseURL: "",
        projectId: "",
        storageBucket: "",
        messagingSenderId: ""
    };
    firebase.initializeApp(config);

})

这两部分(控制台代码和硬代码)应该如何协同工作?还是我不需要这个 app.js 代码?如果我在开发的时候设置一个变量为development = true,我想上传到live的时候怎么改?

更新 2

我在我的配置块中用一个变量创建了一个简单的 if else 语句,但我觉得应该有更好的方法来做到这一点。

Firebase Hosting 最近通过使用特殊脚本添加了 auto-configure the Firebase SDKs 功能,包括:

<script src="/__/firebase/4.1.3/firebase-app.js"></script>
<script src="/__/firebase/4.1.3/firebase-auth.js"></script>
<script src="/__/firebase/4.1.3/firebase-storage.js"></script>
<!-- load Firebase SDK before loading this file -->
<script src="/__/firebase/init.js"></script>

这应该可以让您的网站正确配置,而无需应用任何逻辑。