这可能是个很傻的问题,但我现在刚开始从事Web开发,对JAMStack特别陌生。
我看了一些书,从我了解到的情况来看,在JAMStack中,基本上,我们把所有的东西都交给前端应用,这样Javascript就可以像我们的操作系统一样,通过API宇宙来获取一切。
虽然,这在我看来有点像SPA的工作方式。我们通过API获取我们想要的东西,并相应地重新渲染页面的部分内容。
我在这里遗漏了什么?有谁能给我指出正确的方向,并对这两者的不同之处进行比较,以及这种不同之处的优势和劣势是什么?
谢谢大家
你是对的,这很混乱。JAMstack这个词描述的是JavaScript、API和Markup。当你非常纯粹地思考它时,那么SPA就属于这个类别,因为它们勾选了所有的盒子。
不过大多数人所说的JAMstack网站。是带有预置HTML的网站。. 这就是区别所在。JAMstack网站(或静态网站)带有一个预先生成所有需要的HTML文件的构建过程。这种方式的主机价格便宜,速度快(SPA必须先提出请求才能显示一些东西),而且更容易访问。
流行的项目有 十一或 Nuxt 和 下一个, 盖茨比 或其他。即使是在流行的选项中,也有细微的差别。Eleventy e.g.走的是 "纯粹主义 "的路子,主要提供预生成的HTML。
NuxtNextGatsby和其他通常采用通用JavaScript的方式。它们生成静态HTML,但一旦JavaScript被加载,它们就会变成SPA。
说了这么多,细微的差别是微不足道的,我也不会担心。但是JAMstack世界中的预渲染HTML网站与经典的SPA相比,提供了一些不错的改进。
希望这对你有帮助。:)