Firebase cloud function emulator:如何仅本地编译运行无需线上部署
本地运行Firebase云函数无需部署线上的解决方案
firebase deploy --only functions是将云函数部署到生产环境的官方命令,执行该指令必然会连接线上Firebase项目,要实现仅本地模拟器运行完全不需要执行部署操作,具体操作步骤如下:
- 首先完成本地模拟器初始化,未初始化的项目执行
firebase init emulators,根据终端提示勾选「Functions」模拟器,自行配置对应访问端口即可。 - 若你使用TypeScript编写云函数,先在项目的
functions目录下执行本地编译命令npm run build,也可以执行npm run build:watch开启自动编译模式,后续修改代码后会自动生成可执行的JS文件,无需手动重复编译。 - 编译完成后直接启动本地函数模拟器即可,执行命令
firebase emulators:start --only functions,启动成功后终端会输出所有云函数的本地访问地址,所有调用、触发逻辑完全走本地环境,不会和线上项目产生任何交互。
若启动后仍存在误连线上环境的情况,可在启动模拟器前设置环境变量
export GCLOUD_PROJECT=demo-自定义测试项目名,使用demo-前缀的项目ID会强制禁用所有线上资源访问,从根源避免触碰到生产环境数据。
如果需要同时测试云函数关联的Firestore、Auth、Storage等能力,可在启动时追加对应模拟器的标识,所有测试数据都会存储在本地,不会影响线上业务。
内容的提问来源于stack exchange,提问作者ilatyphi95
相关产品推荐
相关产品推荐

