Node.js NodeJS应用程序在本地工作,但在firebase上部署时无法工作
我正试图使用本教程“”在firebase上部署一个nodeJS应用程序,我完全按照所说的操作,并且该应用程序在本地使用“firebase服务”按预期工作,但当我部署它时,POST和GET请求停止工作,即客户端代码无法到达服务器端。 例如,在加载“appURL/temp”时,我得到了“内容安全策略:页面设置阻止了资源加载”错误 我实际要做的是:将JSON数据从客户端发送到服务器,处理数据并返回一些结果作为响应Node.js NodeJS应用程序在本地工作,但在firebase上部署时无法工作,node.js,firebase,google-cloud-functions,firebase-hosting,Node.js,Firebase,Google Cloud Functions,Firebase Hosting,我正试图使用本教程“”在firebase上部署一个nodeJS应用程序,我完全按照所说的操作,并且该应用程序在本地使用“firebase服务”按预期工作,但当我部署它时,POST和GET请求停止工作,即客户端代码无法到达服务器端。 例如,在加载“appURL/temp”时,我得到了“内容安全策略:页面设置阻止了资源加载”错误 我实际要做的是:将JSON数据从客户端发送到服务器,处理数据并返回一些结果作为响应 当前应用程序的功能:获取输入,单击后将其发送到服务器,并将其作为对POST请求的响应接收
当前应用程序的功能:获取输入,单击后将其发送到服务器,并将其作为对POST请求的响应接收回来
在客户端(public/index.html) firebase.json
{
"hosting": {
"public": "public",
"rewrites":[{
"source": "**",
"function": "app"
}],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
目录结构
版本
节点:13.6.0
快车:6.13.4
mutler:6.13.4
您在向应用程序提供服务之前获得了内部版本吗?很抱歉,我不知道您所说的在向应用程序提供服务之前获得内部版本是什么意思。但是我的问题解决了。之所以会发生这种情况,是因为我通过在Firebase控制台中检查函数源代码发现这些函数从未部署。在第二次部署之后,它工作了。尽管如此,我还是很感谢您的快速响应。我想您可能会忘记使用新版本,提供早期版本。我是指节点应用程序版本。您在提供应用程序之前获得版本了吗?很抱歉,我不知道您在提供应用程序之前获得版本是什么意思。但是我的问题解决了。之所以会发生这种情况,是因为我通过在Firebase控制台中检查函数源代码发现这些函数从未部署。在第二次部署之后,它工作了。尽管如此,我还是很感激你们的快速响应。我想你们可能会忘记接受新版本,服务于早期版本。我是指节点应用程序版本。
const func = require('./add'); //this is just to wrap the string with brackets
const functions = require('firebase-functions');
const express = require('express');
const multer = require('multer');
const upload = multer();
const app = express();
app.get('/temp', (req, resp) => {
resp.send("GET Works");
console.log("GET");
})
app.post('/home', upload.single("data"), (req, res) => {
console.log(func.add(JSON.stringify(req.body)))
res.send(func.add(JSON.stringify(req.body)))
});
exports.app = functions.https.onRequest(app);
{
"hosting": {
"public": "public",
"rewrites":[{
"source": "**",
"function": "app"
}],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}