我是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”时,服务器停止响应我听说过云功能,但我们需要为此付费。还有其他办法吗?
1 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
问题是您仅在请求 api 时读取数据,并且不发送响应。这是我修复它的方法:
firebase.database().ref("public").on("value", snapshot =>{
data = snapshot.val();
})
app.get("/api", (req, res)=>{
res.send(data)
})
将您的 app.get 替换为此代码,它应该可以工作。
添加回答
举报
0/150
提交
取消