我一直在寻找解决这个问题的方法。我不确定我错过了什么。但从我所看到的,我能够创建两个firebase数据库(Live和Development)并分别使用它们。但是,无论我做了什么,我的本地服务版本仍然从实时版本中提取。这就是我所做的。
在firebase中创建了开发项目
将firebase use --add
添加为将别名添加为别名
跑firebase use
确认并取回以下内容:
default (live project-code)
development (development project-code)
跑firebase use development
跑firebase serve
现在,我想如果我加载localhost:5000,我会看到空表,因为我的数据库在开发中是空的。相反,我仍然看到我的实时数据。
我是否认为这个功能比实际功能更多,或者我只是遗漏了什么?
我正在使用Firebase进行身份验证,数据库,存储,托管和功能。这是基于AngularJs的所有基于Web的。
更新
所以看来我发现了这个问题。在我的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语句,但我觉得应该有更好的方法来执行此操作。
答案 0 :(得分:1)
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>
这样可以让您的网站正确配置,而无需应用任何逻辑。