我想使用JAMstack架构编写一个网站,并包含一个博客页面(以慢速间隔更新的动态内容)。我对如何以符合JAMstack的方式实现它感到有点困惑。
我已经研究了构建在JAMstack上的React Static模板,他们建议将博客文章存储在Web服务上,并在构建时通过API访问它们。这对我来说是有意义的(因为JAMstack文档促进了API的使用),但这意味着我必须编写自己的Web服务,这个服务只能在我自己的网站上使用,并且仅在构建时使用,这似乎是浪费资源和时间。
我的另一个想法是将博客帖子存储在相对于我的网站的某个地方并直接导入它们。这样我就不会做任何不必要的事了。
您会推荐哪种方法?为什么?另外,如果我静态存储我的数据,我应该将它包含在我的Git存储库中吗?如何在不完全混乱我的项目的情况下实现像RSS接口这样的扩展?
答案 0 :(得分:1)
这取决于您要使用哪种网站:信息网站,电子商务,带有仪表板的SPA和用户登录或社交合作等。
使用React构建一个SPA很有趣,它可以从WordPress等动态api获取内容,内容等,但是如果您不想展示自己的技能或没有时间和时间,对于信息/博客网站来说这是过分的浪费钱。
对于一个信息/博客网站,如果您要使用静态网站,则仍必须使用JAMStack,因为您需要的功能(例如表单发布,搜索,注释等)以及从J和A. M将会在那里,因为您想高效地编写内容并使用诸如Hugo,Jekyll等的WSG,并具有结构,逻辑和构建过程的框架。
如果使用WSG,则可以使用很多选项将生成的内容部署在github,gitlabs,S3或您自己的服务器上(不推荐)。
然后,如果您不想学习服务器,OS,WSG,git,部署管道以及所有其他有趣的事情的内部工作,只是看足球和喝啤酒,可以使用appernetic.io(我是,netlify或类似的解决方案,用于构建和部署具有自定义域名和免费托管的网站。
答案 1 :(得分:1)
几个月后,当他们具备React技能并想要一个静态网站生成器时,许多人开始转向GatsbyJS。
截至2019年初,那些不知道/没有时间学习React + GraphQL的人仍然专注于长期存在的生成器,例如Hugo,Jekyll,Middleman等。
可以在任何地方托管,但是直S3是一个不错的选择,或者Netlify可以使生活更轻松。
这里有一个合理的博客文章,其中包含更多信息:https://trolley.link/2019/02/03/static-site-generators-and-the-jamstack.html
答案 2 :(得分:0)
另一种看似非常合适的解决方案是无头CMS。 (这是一个CMS,它只负责存储您的动态数据并为其提供API。它与您的前端完全分离。)
可以在headlesscms.org上找到一些最受欢迎的内容。
(参见关于该问题的第一和第二条评论。)