firebase - 使用 Firebase 重写路由/api/** 来运行,并将其他所有内容重写为单页应用程序

标签 firebase firebase-hosting

我已经看到了其他关于使用 Firebase 重写将/api/** 路由到其 Express 应用函数的堆栈溢出答案。

我正在遵循这些说明,但也尝试托管单页应用程序。

将两者结合起来似乎不起作用,因为 API 路由仍然映射到我的 index.html 文件。

这些是我的重写

"rewrites": [
  {
    "source": "/api/**",
    "function": "api"
  },
  {
    "source": "**",
    "destination": "/index.html"
  }
]

这可能吗?

最佳答案

为了回答您的问题,我设法通过从单页应用程序规则中排除/api/来做到这一点。

"rewrites": [
  {
    "source": "/api/**",
    "function": "api"
  },
  {
    "source": "!/api/**",
    "destination": "/index.html"
  }
]

我们在这里说:

  • 以“/api/”开头的所有内容都会转到名为“api”的函数
  • 其他所有内容都将转到您的单页应用 (index.html)

关于firebase - 使用 Firebase 重写路由/api/** 来运行,并将其他所有内容重写为单页应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49472008/

相关文章:

android - 在我的 android firebase 应用程序中安装 Fabric Crashlytics 后,这个 Gradle 构建错误是什么?

flutter - 如何在 Firebase 主机上托管 Flutter Web(蜂鸟)

firebase - 在 firebase 托管中取消部署功能

angular - 如何在 Nrwl Nx 中集成 firebase

javascript - 云功能执行成功但用户没有收到通知?

javascript - Firestore : Multiple conditional where clauses

android - Firestore collection.get() 完成操作后返回值

ios - 如何通过发送产品名称来查找特定的产品 ID?

使用 X-Frame-Options 的 firebase 托管 iframe 错误

Firebase 托管 i18n 重写不起作用