2016-11-12 78 views
7

我有一个Firebase数据库最多链接两个应用程序,一个是iOS应用程序,另一个是以节点编码的Web应用程序。 js是一种将数据设置到数据库的基本算法。当过我运行的算法我面临与 -错误:未创建Firebase应用程序'[DEFAULT]' - 调用Firebase App.initializeApp()

Error: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp(). at Error (native) at R (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:22:335) at a (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:20:68) at Object.c [as database] (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:21:447) at Object. (/Users/dd/Desktop/Code/NODE/Bot.js:24:25) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:394:7) at startup (bootstrap_node.js:149:9) at bootstrap_node.js:509:3 dd-mac:NODE dd$

可能有人请帮忙吗?

回答

3

我在Firebase的在线指南中发现了类似的问题,发现here

标题为“初始化多个应用程序”的标题具有误导性,因为此标题下的第一个示例实际上演示了如何初始化单个默认应用程序。这里的说,例如:

// Initialize the default app 
var defaultApp = admin.initializeApp(defaultAppConfig); 

console.log(defaultApp.name); // "[DEFAULT]" 

// Retrieve services via the defaultApp variable... 
var defaultAuth = defaultApp.auth(); 
var defaultDatabase = defaultApp.database(); 

// ... or use the equivalent shorthand notation 
defaultAuth = admin.auth(); 
defaultDatabase = admin.database(); 

如果从以前的2.x SDK中迁移,你必须更新你访问数据库如上图所示的样子,或者你会得到的,No Firebase App '[DEFAULT]'错误。

谷歌已经在下面更好的文档:

  1. 初始化:https://firebase.google.com/docs/database/admin/start

  2. SAVE:https://firebase.google.com/docs/database/admin/save-data

  3. 取回: https://firebase.google.com/docs/database/admin/retrieve-data

2

这可能不是最好的答案,但是,我必须使用下面的管理员和firebase初始化应用程序。我使用管理员也是为了自己的目的和firebase。

const firebase = require("firebase"); 
const admin = require("firebase-admin"); 

admin.initializeApp(functions.config().firebase); 
firebase.initializeApp(functions.config().firebase); 
// Get the Auth service for the default app 
var authService = firebase.auth(); 

function createUserWithEmailAndPassword(request, response) { 
     const email = request.query.email; 
     const password = request.query.password; 
     if (!email) { 
      response.send("query.email is required."); 
      return; 
     } 
     if (!password) { 
      response.send("query.password is required."); 
      return; 
     } 
     return authService.createUserWithEmailAndPassword(email, password) 
      .then(success => { 
       let responseJson = JSON.stringify(success); 
       console.log("createUserWithEmailAndPassword.responseJson", responseJson); 
       response.send(responseJson); 
      }) 
      .catch(error => { 
       let errorJson = JSON.stringify(error); 
       console.log("createUserWithEmailAndPassword.errorJson", errorJson); 
       response.send(errorJson); 
      }); 
    } 
0

您可能在应用初始化之前调用firebase。到firebase.所有呼叫都必须来后.initializeApp();

firebase.initializeApp(config); 
var db = firebase.firestore(); 
相关问题