firebase node.js/express.js 添加多个firebase函数
Posted
技术标签:
【中文标题】firebase node.js/express.js 添加多个firebase函数【英文标题】:firebase node.js/express.js add multiple firebase functions 【发布时间】:2018-11-23 16:53:58 【问题描述】:我正在尝试在 index.ts
文件中添加多个 firebase 函数,下面的示例如下:How do I structure Cloud Functions for Firebase to deploy multiple functions from multiple files?。
特别是,我有一个 express.js
服务器,我在 routes.ts
中初始化:
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
的函数 ...
【问题讨论】:
【参考方案1】:问题是我试图在本地环境中模拟这些功能。我必须部署它们才能运行非 http
函数。但是,文档底部描述的其他功能有一个本地模拟器:https://firebase.google.com/docs/functions/beta-v1-diff,这是新的。
【讨论】:
以上是关于firebase node.js/express.js 添加多个firebase函数的主要内容,如果未能解决你的问题,请参考以下文章
Node.js + Express.js |尝试设置 HTTPS 服务器
Node.js - 在 Server.js 上执行 Node 命令(Express + React + Webpack)