我有rest api是用express.js和mongodb构建的。我想在 netlify 上部署我的应用程序。我在文件系统上也有静态资产(图像和视频)。我想通过免费托管来做这些事情。我可以在 heroku 上部署我的应用程序,但 heroku 不为我的资产文件提供持久存储。 Heroku 建议使用 aws s3 存储来保存静态资产。 AWS 为您的静态资产免费提供 5GB 存储空间,如果您超过了限制,则需要付费。这对我来说是有点可怕的事情。
那么,有什么方法可以免费部署所有这些东西吗?
您可以拆分代码,以便静态资源托管在 Netlify 上,而 Express 服务器托管在 heroku 上,总体来说更简单,但您必须确保所有 URL 都指向正确的位置。
或者,您可以重构 Express Rest API,以便它通过 Netlify 的函数运行,这些函数是 AWS lambda 函数的更好覆盖。请参阅此处的文档,了解如何执行此操作的教程。
如果您正在考虑在 Netlify 上进行部署,请务必注意,不支持在 Netlify 上托管 Express 服务器或后端 MongoDB 实例。在他们的官方文件中,他们明确提到,
“要部署前端网站,只需连接存储库并配置构建设置即可。
对于您的后端,您将无法使用 Netlify 托管 Express 服务器,也无法托管 MongoDB 实例,因此您需要在其他地方寻找后端网站的托管要求(例如 Heroku),如果您不这样做计划改变它。”