不调用 Firebase Cloud 函数
Firebase Cloud functions are not called
当我访问“/s/:id”时,我的站点将调用函数"s"。
然而,它从未真正被调用过。
正如 firebase Project Overview 所证实的那样,没有证据表明函数被调用了。
不知道为什么,因为控制台没有报错
#functions/firebase.json
{
"functions": {
"source": "functions"
},
"hosting": {
"public": "dist",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "/s/*",
"function": "s"
},
{
"source": "**",
"destination": "/index.html"
}
]
}
}
访问"s /: id"时,不调用函数,而是应用"index.html"。
我知道 "index.html" 是首选,因为它在 "public" 中,但我认为这不会是顶部函数未被调用的原因。
#functions/index.js
const functions = require("firebase-functions");
const express = require("express");
const app = express();
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
const genHtml = (image_url, id) => `
<!DOCTYPE html>
<html>
<head>
//Meta tag to overwrite
</head>
<body>
<script>
location.href = '/share/${id}';
</script>
</body>
</html>
`;
app.get("s/:id", (req, res) => {
//processing
});
exports.s = functions.https.onRequest(app);
可能是什么原因?
通过匹配函数和数据库区域正确响应。我不知道这是否是原因,但它非常接近它。
当我访问“/s/:id”时,我的站点将调用函数"s"。
然而,它从未真正被调用过。
正如 firebase Project Overview 所证实的那样,没有证据表明函数被调用了。
不知道为什么,因为控制台没有报错
#functions/firebase.json
{
"functions": {
"source": "functions"
},
"hosting": {
"public": "dist",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "/s/*",
"function": "s"
},
{
"source": "**",
"destination": "/index.html"
}
]
}
}
访问"s /: id"时,不调用函数,而是应用"index.html"。
我知道 "index.html" 是首选,因为它在 "public" 中,但我认为这不会是顶部函数未被调用的原因。
#functions/index.js
const functions = require("firebase-functions");
const express = require("express");
const app = express();
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();
const genHtml = (image_url, id) => `
<!DOCTYPE html>
<html>
<head>
//Meta tag to overwrite
</head>
<body>
<script>
location.href = '/share/${id}';
</script>
</body>
</html>
`;
app.get("s/:id", (req, res) => {
//processing
});
exports.s = functions.https.onRequest(app);
可能是什么原因?
通过匹配函数和数据库区域正确响应。我不知道这是否是原因,但它非常接近它。