【发布时间】:2020-06-07 00:50:44
【问题描述】:
我在访问我的 Firebase 帐户中的 JSON api 时遇到问题。我将在终端中输入“firebase deploy”,它会返回以下网址,
如果我将它输入到浏览器中,我会得到我的 Index.html 页面,所以我知道它通常可以正常工作。但是因为我正在尝试访问 API,所以我搜索了运行“firebase serve”时有效的 URL/api/app,但在运行部署时却没有。它返回以下内容
错误:禁止您的客户端无权从此服务器获取 URL /api/app
但是,我的 gmail 帐户在 firebase 上是允许的,并且所有内容都已检查,但 firebase 和云功能仍然不允许我访问我的 API。请帮忙。
这是我的代码。
INDEX.JS
const functions = require("firebase-functions");
const server = require(__dirname,"../server.js");
const api = functions
.runWith({ memory: "2GB", timeoutSeconds: 120 })
.https.onRequest(server);
module.exports = {
api
};
SERVER.JS
const express = require("express");
const path = require("path");
const logger = require("./middleware/logger.js");
const cors = require("cors");
const routes = require("./router/routes.js");
let app = express();
// Init Middleware
app.use(logger);
// Set static folder
app.use(express.static(path.join(__dirname, "public")));
app.use(cors({ origin: true }));
app.use("/", routes);
module.exports = app;
FIREBASE.JSON
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "public",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "**",
"function": "server"
}
]
}
}
【问题讨论】:
-
您在
index.js中将您的函数导出为app,但在您的firebase.json托管配置中希望它是server。选择一个并重新部署。
标签: node.js firebase express google-cloud-functions