gpt4 book ai didi

Firebase 托管公用文件夹别名

转载 作者:行者123 更新时间:2023-12-02 20:29:22 25 4
gpt4 key购买 nike

我有一个基于 React 的现有项目,我成功地将其移植到具有云功能的 Firebase 托管......至少在开发服务器上。看起来是这样的..这是在 http://localhost:5000/ 上运行使用命令

firebase serve --only functions,hosting

enter image description here

现在,当我部署它时,它看起来像

enter image description here

这不是静态站点。在这里关注 firebase 视频 https://www.youtube.com/watch?v=LOeioOKUKI8

所以我有快速服务器运行

app.use('/static',express.static('../public'));

我必须这样做,因为否则,Firebase 托管会将每个路径视为公共(public)路径,并且它会弄乱从公共(public)文件夹以及 React 应用程序中的 React 路由器获取的脚本。

虽然这在 firebae 运行的本地服务器上有效,但它在产品上抛出 404。

Failed to load resource: the server responded with a status of 404 ()

重点是我在本地计算机上完成了所有这些工作,但部署却没有要求。

部署并不顺利。

firebase deploy

没用。

firebase --only hosting

成功了。

firebase --only functions

有一段时间没有工作。

它一直在抛出

Error setting up the execution environment for your function. Please try again after a few minutes.

试了几次才终于成功。我没有做任何改变来让它发挥作用。自己做的。

我有什么遗漏的吗?我对 Firebase 托管非常陌生。

我已经有一个生产站点在某处运行,我希望将其移植到 firebase。但我不能随机出现“几分钟后重试的问题”。

但首先,为什么我的静态文件在开发环境中渲染时却没有在产品环境中渲染?

谢谢

最佳答案

您的 public 目录需要嵌套在 functions 文件夹下,因为只有 functions 文件夹中的文件才会部署到 Cloud Functions,并且可从 Node.js 获取。

本地模拟器没有主动防范这种树导航,这就是它在本地工作的原因。

不过,一般来说,您可能需要稍微重组您的应用,以便将静态资源直接部署到 Firebase Hosting,而不是由 Express 提供服务。

关于Firebase 托管公用文件夹别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49197738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com