首页 > 解决方案 > 使用模拟器时可以避免使用实时 Firebase 存储吗?

问题描述

当我耐心等待将 Firebase 存储添加到模拟器时,我想知道是否有一种方法可以避免在模拟器中运行托管/功能时修改实时存储文件和文件夹?

例如,我使用以下代码删除文件夹中的所有文件。昨晚有人不小心删除了我们模拟器中的所有文档作为测试的一部分,当我们使用将真实文档导入我们的模拟器时,它删除了所有 LIVE 存储文件夹

async function deleteStorageFolder(path:string) {
  const bucket = admin.storage().bucket();
  return bucket.deleteFiles({
    prefix: path
  })

有什么方法可以告诉firebase在模拟器运行时避免使用生产存储API?

标签: node.jsfirebasegoogle-cloud-functionsfirebase-storage

解决方案


我在我的函数中使用了以下条件来防止在模拟器中运行时使用 firebase 存储 API:

if (process.env.FUNCTIONS_EMULATOR == "true") {
  console.log(`Running in emulator, won't call firebase storage`)

} else {
  // Code goes here to run storage APIs
}

推荐阅读