jamstack网站的复杂性不断上升以及如何管理它们
将用户生成的内容或动态数据集成到静态网站中会显着提高构建复杂性,并有可能反映单层CMS平台的挑战。本文探讨了如何在不依赖众多第三方服务的情况下丰富具有动态内容的静态站点。
由于其轻巧的性质,高配置性,速度,易用性和广泛的部署选项,静态站点生成器(SSG)比WordPress(例如WordPress)受到青睐。静态网站将数据库和服务器端代码替换为API和构建过程,该过程称为Jamstack(JavaScript,API,Markup)。虽然最初吸引其控制和效率,但jamstack项目经常会随着功能而遇到复杂性激增。这部分是由于Markdown在表示数据关系中的限制,需要对简单标签或类别以外的任何事物进行广泛的预处理。在Markdown中管理这些关系的创作经验也不是理想的。
用户生成的内容进一步使静态站点复杂化。评论,评级和喜欢的功能需要第三方服务,每个苛刻的帐户管理以及潜在地影响页面绩效。虽然诸如Google表单或Airtable之类的通用平台提供了替代方案,但这种方法片段的内容管理并引入了妥协。
这种复杂性并不是jamstack独有的,但是在摇摆驱动的站点中增加了丰富的功能,这比预期的要难得多。解决方案不是放弃静态站点或仅依靠第三方服务。个性化的内容管理层和统一的API提供了优越的选择。
关键是创建自定义API。尽管存在无头CMS,但许多人施加了内容结构假设。 Keystonejs 5是一种灵活的选择,由独立组件组成,允许量身定制的迷你CMS和API。
这种方法称为“ Jamstack Plus”,结合了CMS和SSG的好处。两个项目说明了这个概念:Supermaya(用于添加无复杂构建过程的丰富功能的高度入门套件)和Keystone Jamstack Plus(博客丰富平台)。
SuperMaya包括标准博客功能(帖子,页面,标签,RSS feed,服务工作者,懒惰加载,关键CSS)和可访问的标记。它将预处理步骤直接集成到高度中,消除了对咕unt,墨西哥大师或webpack等单独工具的需求。与Keystone Jamstack的可选集成以及简化添加用户生成的内容。两者都可以一起部署,将Keystone(在Heroku上)连接到Supermaya(在Netlify上)。丰富的功能逐渐增强,即使在API问题上也可以确保功能。
Keystone Jamstack Plus添加了评论,拍手,阅读列表和登录功能。它设计为用于用户生成的内容的无头CM,可从SSG中获得页面和帖子管理。它的GraphQL API可以连接到任何前端。
作者倡导拥有您的数据。使用第三方服务意味着他们控制您的数据和用户信息。虽然有时是必要的妥协,但多个API的复杂性通常超过了好处。一项小型可配置的服务提供了更好的控制,用户体验和可扩展性。
True Jamstack应专注于连接到可管理的API的精益,可配置的静态前端,以进行动态内容。这种方法避免将复杂性转移到前端构建过程或损害用户和开发人员的经验。
以上是jamstack网站的复杂性不断上升以及如何管理它们的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...
