【发布时间】:2023-04-01 03:00:01
【问题描述】:
我一直在研究 JAMstack。据我了解,JAMstack 的意思是:
- J - JavaScript
- A - API
- M - 标记
我有两个问题:
我实际上并不清楚这里的标记。是预呈现的标记(即预呈现的 HTML)吗?
我们的办公项目是用 React 和外部 API 开发的。由于该项目是使用 JavaScript (React) 和 API 开发的,并且我们知道 React 从服务器交付预渲染块,那么它是 JAMstack 吗?
【问题讨论】:
-
我确定它是预渲染的。使用的示例是来自 Gatsby 等静态站点生成器的输出。
-
鉴于您不确定 JAMstack 是什么,或者即使您当前的应用程序已经满足该定义,一个更相关的问题可能是:您为什么认为应该转换它?您想解决什么问题,您对解决问题有多大信心?
-
标记是您预渲染的 HTML。如果你可以编译你的项目并且可以将生成的静态文件托管在 aws s3 或 netlify 上,因为所有内容都是从 apis 中获取的,那么你的页面基本上已经是 JAM 堆栈了。有 gatsby (react) 或 gridsome (vue) 等工具可帮助您通过简单的路由、转换和托管解决方案启动 JAM 堆栈项目
-
如果事实证明您当前的解决方案不是 JAMstack,您仍然没有理由开始转换它。不要落入“媒体驱动开发”的陷阱。寻找能够真正帮助您解决问题的工具和架构。
-
静态文件方法意味着,您可以通过 cdn 发布您的资产以获得更好的可扩展性。这也意味着为前端开发人员提供更好的开发人员体验和更便宜的托管。根据您的项目,可能只缺少一个部分,例如将您的静态资产托管在 CDN 上。
标签: javascript reactjs jamstack