Firebase 托管 public 文件夹别名
Firebase hosting public folder alias
我有基于 express、react 的现有项目,我成功地将其移植到具有云功能的 Firebase 托管......至少在开发服务器上。
看起来像这样..
这是 运行ning 在 http://localhost:5000/ 上使用命令
firebase serve --only functions,hosting
现在,当我部署它时,它看起来像
这不是静态站点。在此处关注 firebase vid
https://www.youtube.com/watch?v=LOeioOKUKI8
所以我有快递服务器 运行
app.use('/static',express.static('../public'));
我必须这样做,否则,firebase 托管会将每个路径视为 public 路径,它会弄乱来自 public 文件夹的脚本以及我在 React 应用程序中的 React 路由器。
虽然这在 firebae 的本地服务器 运行 上有效,但它会在 prod 上抛出 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。但是我不能有随机'try again after a few minutes problems'.
但首先,为什么我的静态文件在开发环境中呈现时却无法在生产环境中呈现?
谢谢
您的 public
目录需要嵌套在 functions
文件夹下,因为只有 functions
文件夹中的文件才会部署到 Cloud Functions 并可从 Node.js 获得.
本地模拟器没有主动防范这种树导航,这就是它在本地运行的原因。
不过,一般来说,您可能希望对您的应用进行一些重组,以便将您的静态资产直接部署到 Firebase 托管,而不是由 Express 提供服务。
我有基于 express、react 的现有项目,我成功地将其移植到具有云功能的 Firebase 托管......至少在开发服务器上。 看起来像这样.. 这是 运行ning 在 http://localhost:5000/ 上使用命令
firebase serve --only functions,hosting
现在,当我部署它时,它看起来像
这不是静态站点。在此处关注 firebase vid https://www.youtube.com/watch?v=LOeioOKUKI8
所以我有快递服务器 运行
app.use('/static',express.static('../public'));
我必须这样做,否则,firebase 托管会将每个路径视为 public 路径,它会弄乱来自 public 文件夹的脚本以及我在 React 应用程序中的 React 路由器。
虽然这在 firebae 的本地服务器 运行 上有效,但它会在 prod 上抛出 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。但是我不能有随机'try again after a few minutes problems'.
但首先,为什么我的静态文件在开发环境中呈现时却无法在生产环境中呈现?
谢谢
您的 public
目录需要嵌套在 functions
文件夹下,因为只有 functions
文件夹中的文件才会部署到 Cloud Functions 并可从 Node.js 获得.
本地模拟器没有主动防范这种树导航,这就是它在本地运行的原因。
不过,一般来说,您可能希望对您的应用进行一些重组,以便将您的静态资产直接部署到 Firebase 托管,而不是由 Express 提供服务。