我想托管使用Next.js创建的静态webapp' firebase上的导出功能。当进行基础数据库中的更改时,应用程序会将自身重建为静态html。由于我无法将此静态页面自动直接部署到firebase托管,因此我倾向于使用静态文件。
那么,与使用firebase托管相比,使用firebase函数内的Express.js提供静态html内容是否有任何缺点? 特别是关于:定价,安全性和性能/速度。
答案 0 :(得分:5)
我们在Firebase托管下托管了我们的网站(https://mfy.im),使用nuxt
生成,类似于您的next.js
。我们已经比较了许多其他静态托管网站,包括Netlify,S3等.Firebase托管是性能最好的
即使Express可以提供静态文件,也不建议使用。 Firebase内部使用Nginx。 Nginx在提供静态文件方面非常快,而且它是多线程的。在Nginx中,它的容易配置http2,gzip 等(最近在节点10中发布了完整的http2支持,节点js中的gzipping文件也不是那么高,因为节点是单线程的)
Firebase托管的其他优势是其边缘服务器,内置CDN , SSL 等。您的网站副本部署在全球多个服务器上导致低延迟。我测试了 Firebase CDN与CloudFlare,Firebase再次成为最佳
关于定价,Firebase托管带有10GB带宽的免费计划。它应该对中小型网站有效。如果您的带宽使用率高于您的带宽使用率,则可以“随时付款”。但是,如果您担心定价,可以将Firebase托管与CloudFlare CDN结合使用,以便CloudFlare覆盖大部分带宽