firebase 和express 可以一起使用吗?

我是express新手,我想从express.js构建一个使用firebase作为数据库的rest api。他们有可能一起工作吗?我尝试这样做...


const firebase = require("firebase")

const express = require("express");

const app = express();

const cors = require( 'cors');


var firebaseConfig = {

    apiKey: "xxxxxxx",

    authDomain: "xxxxxx",

    databaseURL: "xxxxxx",

    projectId: "xxxxxx",

    storageBucket: "xxxxxx",

    messagingSenderId: "xxxxxx",

    appId: "xxxxxxx"

  };

  // Initialize Firebase

  firebase.initializeApp(firebaseConfig);

app.use(cors())

let data;

firebase.database().ref("public").on("value", snapshot =>{

  data = snapshot.val();

})

app.get("/api", (req, res)=>{

  res.send(data)

})


app.listen(3500, ()=>console.log("listening at port 3500..."))

但它不起作用,服务器不断断开连接,服务器没有响应,我必须重新启动它。当我转到“端口:3500”时,服务器停止响应我听说过云功能,但我们需要为此付费。还有其他办法吗?



12345678_0001
浏览 102回答 1
1回答

慕村9548890

问题是您仅在请求 api 时读取数据,并且不发送响应。这是我修复它的方法:firebase.database().ref("public").on("value", snapshot =>{data = snapshot.val();})app.get("/api", (req, res)=>{    res.send(data)})将您的 app.get 替换为此代码,它应该可以工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript