使用Firebase函数部署基于React的SSR应用时出错

我在应用程序中进行了一些修改之后,尝试将我的SSR应用程序部署在最初从https://github.com/subhendukundu/template-react-ssr/tree/feature/react-router派生的Firebase 中。当我这样做时工作正常,但当我sudo firebase serve --only functions,hosting抛出错误时firebase deploy可复制的仓库是https://github.com/subhendukundu/template-react-ssr/tree/feature/react-router,它具有package.json https://github.com/subhendukundu/template-react-ssr/ tree / feature / react-router / public 我也使用public目录作为我的函数目录,https://github.com/subhendukundu/template-react-ssr/blob/feature/react-router/firebase.json但是,即使我为云函数使用了不同的函数目录,我也会看到相同的错误。反正有我可以解决吗?

Mandy2020/03/23 09:44:59

问题是,firebase托管仅支持SPA,这意味着SSR不可用,您需要在其他环境中运行SSR服务器,在其中可以运行nextJS,或者如果您使用的是静态页面生成器,则可以上传这些文件直接损害了刷新内容的能力,不过,我确信采用云功能和gatsby的解决方案是可行的。

Tl; DR:您不会从Firebase托管中获得SSR

ItachiTom2020/03/23 09:44:59

可以,但是您不能将静态资产与云功能一起使用。您需要混合使用Firebase功能和Firebase托管。

Firebase的家伙已经考虑过这一点,您也可以使用一个实现。

查看以下文档:

注意:使用云功能时,需要考虑一些延迟。

当新实例处理其第一个请求时,响应时间会缩短,这称为冷启动

更多信息