使用 Firebase、Hosting 与 Functions 的 Webapp 前端结构
Webapp front-end structure using Firebase, Hosting vs Functions
我正在使用 Firebase 的免费计划(针对单个用户)开发小型 ERP。我开始硬编码 html 并使用 firebase 托管服务,这种流程在长期 运行 中被证明是无效的。很快我就需要路由、身份验证和数据库,这导致我在单个 firebase 函数中使用 Express 服务器 运行ning 来处理所有内容,这样我就可以保护路由和数据库访问。这让我觉得我在做一些非常错误的事情,因为 firebase 函数有一个令人讨厌的长 URL 并且我的 API 路由距离我的前端路由只有一个目录。
我不知道该如何继续,但我相信有以下选择:
- A - 返回到前端使用 firebase 托管,这意味着我必须使用检查 localStorage 中的网络令牌 (jwt) 并在失败时重定向到登录页面的功能来保护静态文件。
- B - 为前端创建第二个 firebase 函数,这意味着我可以使用 ejs 和 express,但我必须保留很长的 URL 并且我不知道如何更改它(使用来自拥有域的重定向仅用作别名,域名不会保留)。
A 似乎不安全,B 很烦我,因为我没有定制 URL,我应该如何继续和服务该项目?
根据定义,您的静态代码是 public,因为其中没有任何值。该值来自您对函数或数据库执行的 API 调用以填充静态页面。
如果您的静态代码不包含关键信息,您可以使用 firebase 托管来托管它,没有任何问题。
如果没有,您必须使用动态代码(即函数)检查身份验证和授权(经过身份验证的用户是否有权访问该资源?)。
如果默认 URL 太长,您可以使用自定义域。
我正在使用 Firebase 的免费计划(针对单个用户)开发小型 ERP。我开始硬编码 html 并使用 firebase 托管服务,这种流程在长期 运行 中被证明是无效的。很快我就需要路由、身份验证和数据库,这导致我在单个 firebase 函数中使用 Express 服务器 运行ning 来处理所有内容,这样我就可以保护路由和数据库访问。这让我觉得我在做一些非常错误的事情,因为 firebase 函数有一个令人讨厌的长 URL 并且我的 API 路由距离我的前端路由只有一个目录。
我不知道该如何继续,但我相信有以下选择:
- A - 返回到前端使用 firebase 托管,这意味着我必须使用检查 localStorage 中的网络令牌 (jwt) 并在失败时重定向到登录页面的功能来保护静态文件。
- B - 为前端创建第二个 firebase 函数,这意味着我可以使用 ejs 和 express,但我必须保留很长的 URL 并且我不知道如何更改它(使用来自拥有域的重定向仅用作别名,域名不会保留)。
A 似乎不安全,B 很烦我,因为我没有定制 URL,我应该如何继续和服务该项目?
根据定义,您的静态代码是 public,因为其中没有任何值。该值来自您对函数或数据库执行的 API 调用以填充静态页面。
如果您的静态代码不包含关键信息,您可以使用 firebase 托管来托管它,没有任何问题。
如果没有,您必须使用动态代码(即函数)检查身份验证和授权(经过身份验证的用户是否有权访问该资源?)。
如果默认 URL 太长,您可以使用自定义域。