你是对的,这很混乱。
以前,术语 JAMstack 描述了 JavaScript、API 和标记。由于围绕这一技术趋势的采用和混淆,jamstack.org将定义JAMstack
从Jamstack
.
Jamstack 是一种旨在使 Web 更快、更安全且更易于扩展的架构。它建立在许多开发人员喜爱的工具和工作流程之上,并带来了最大的生产力。预渲染和解耦的核心原则使网站和应用程序能够以前所未有的信心和弹性交付。
当您查看旧定义并非常纯粹地考虑它时,SPA 可以属于这一类。这可能是定义从 JAM(JavaScript、Apis、Markup)转移到 Jam(技术混合)的原因。
然而,大多数人所说的 JAMstack 站点是带有预渲染 HTML 的站点。这就是不同之处所在。JAMstack 站点(或静态站点)带有预生成所有需要的 HTML 文件的构建过程。这种方法托管成本低、速度快(SPA 必须首先发出请求以显示某些内容)并且更易于访问。
流行的项目是十一,或Nuxt和Next,Gatsby或其他。
即使看看流行的选项,也有细微差别。Eleventy eg 采用“纯粹”的方式,主要发送预先生成的 HTML。
Nuxt/Next/Gatsby 和其他人通常使用通用的 JavaScript 方法。它们生成静态 HTML,但一旦加载了 JavaScript,它们就会转换为 SPA。
总而言之,细微差别是微妙的,我不会太担心。但请记住,与经典 SPA 相比,JAMstack 世界中的预渲染 HTML 站点提供了一些不错的性能改进。