Firebase admin SDK + Vue + Webpack,TypeError:rtdb.initStandalone 不是函数

Tad*_*uka 1 javascript firebase webpack vue.js firebase-realtime-database

我正在尝试在 Vue + Webpack 上运行的服务器中设置 firebase admin sdk。这是程序。然后我得到一个错误。

  1. vue 初始化 webpack vue-firebase
  2. npm 安装 firebase-admin --save
  3. 在 main.js 中添加一些代码,例如:

    var admin = require('firebase-admin');
    var serviceAccount = require('../config/firebase.json');
    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount),
      databaseURL: 'https://xxxxx.firebaseio.com'
    });
    
    var database = admin.database();
    var ref = database.ref("users");
    ref.on("value", function(snapshot) {
      console.log(snapshot.val());
    }, function (errorObject) {
      console.log("The read failed: " + errorObject.code);
    });
    
    Run Code Online (Sandbox Code Playgroud)
  4. npm 运行开发

  5. Safari 捕获错误:database.js:63

类型错误:rtdb.initStandalone 不是函数。(在“rtdb.initStandalone(this.appInternal, dbUrl, version)”中,“rtdb.initStandalone”未定义)

有人有解决办法吗?

Fra*_*len 5

您似乎正在尝试在 vue.js Web 应用程序中使用 Firebase Admin SDK。vue代码运行在浏览器中,而不是在服务器中。

Admin SDK页面入门开始:“Admin SDK 允许您从特权环境与 Firebase 交互......”Web 应用程序不是特权环境:如果您将服务帐户放入网页中,那么您就暴露了您对该 Web 应用程序的所有用户的管理凭据。

您需要使用 Firebase 的常规 Web SDK,如下所示: https: //firebase.google.com/docs/web/setup