gpt4 book ai didi

node.js - firebase node.js/express.js 添加多个 firebase 函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:42 24 4
gpt4 key购买 nike

我正在尝试按照此处的示例在 index.ts 文件中添加多个 firebase 函数:How do I structure Cloud Functions for Firebase to deploy multiple functions from multiple files? .

特别是,我有一个在 routes.ts 中初始化的 express.js 服务器:

const server = express();
server.get('/api', (req, res) => res.send('hello /api'))
export {server}

现在在index.ts中,我可以导入routes.ts并附加一个用户身份验证监听器,以便在创建新用户时触发它,即:

import {server} from './routers'

exports.app = functions.https.onRequest(server);
exports.userEvents = functions.auth.user().onCreate(user => {
console.log("user created: ", user.email, user)
})

但是,据我所知,只有 exports.app 实际上按预期工作,而 exports.userEvents 似乎不会在新用户创建时触发。

============================================================

编辑:

问题是我的 firebase.json 函数是如何设置的,它目前只为 app 提供以 /api/** 开头的端点,即:

{
"hosting": {
"public": "public",

// the problem is here: you're not connecting to multiple functions
"rewrites": [{
"source": "/api/**"
, "function": "app"



}],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}

现在的问题是如何告诉 firebase 从 exports.userEvents ... 提供函数

最佳答案

问题是我试图在本地环境中模拟功能。我必须部署它们才能运行非 http 函数。但是,文档底部描述了一个用于其他功能的本地模拟器:https://firebase.google.com/docs/functions/beta-v1-diff ,这是新的。

关于node.js - firebase node.js/express.js 添加多个 firebase 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50848555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com