+
95
-

SSG 与 JAMstack 有啥区别不同?

SSG 与 JAMstack 有啥区别不同?

网友回复

+
15
-

静态网站生成器(static site generate)SSG是一种通过获取模板并将内容和数据合并到其中来构建静态网页的工具。

模板定义了网页的结构,内容和数据可以包括菜单项、站点副本、博客文章等。

SSG 在构建过程中获取数据并将其添加到模板中并呈现静态网页。然后,这些页面被托管并在请求时提供给客户端。 SSG 的一些常见应用包括商业手册网站、投资组合、博客、在线杂志、文档等。

而JAMstack 是一种独特且越来越流行的构建网站和 Web 应用程序的方式。

 JAMstack 中的 JAM 代表 JavaScript、API 和 Markup,但 JAMstack 的功能远不止这三种技术的总和。

 下文将围绕为什么需要SSG?什么是JAMstack 应用程序?为什么需要JAMstack 应用程序?等多个维度进行展开。

1.为什么需要SSG?

回到2000年左右,网站开发比较简单。 比如开发一个 index.html ,将其推送到服务器,然后就有了一个网页! 可以是个人网站,又或是营销网站。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>简单的HTML</title>
</head>
<body>
<h1>这里是一个简单的HTML</h1>
</body>
</html>
但是,有时您需要的不仅仅是一个简单的HTML。 比如一个电子商务网站,您希望客户在线购买东西。 通常,这意味着您需要运行后端语言(如 PHP)来处理。 PHP一种后端语言 PHP 代码通常会在服务器上运行并处理这些交互。 它还会处理网站的不同请求,例如:

https://demo.com/about-us

https://demo.com/category/t-shirts

https://demo.com/products/awesome-t-shirt

当然,可能还有 100+ 个其他特定子地址,比如产品和类别页面。 但是,您可以选择不使用 PHP 或服务器端语言,而只为其中的每一个功能制作 1 个 index.html 页面:

https://demo.com/about-us.html

https://demo.com/category/t-shirts.html

https://demo.com/products/awesome-t-shirt.html

但这意味着100 多个 index.html 页面都在页面上使用相同的 <header> 和 <footer> 等元素。 也意味着如果你想更新一部分内容,则必须在其他页面做同样的事情! 比如说,您的网站不是电子商务网站,只是一个博客网站! 但它有 100 多页来承载撰写的文章。但是,您不需要在这些博客文章上收费、存储客户数据等能力,而且只是只读站点,很少更新。 此时,站点可能不需要PHP 或其他服务器端语言,它可以只是普通的 .html 文件。 更新一个 .html 文件的header意味着您必须对其他 99+ .html 文件执行同样的操作! 这就是静态站点生成器的用武之地!

2.2008 年SSG横空出世?

800_auto

SSG解决了大量修改 .html 文件的维护问题。 2008 年的 Jekyll 是第一个受到广泛关注的项目,你可以将它部署在 Github Pages 上。 它是用 Ruby 编写的,Ruby 是另...

点击查看剩余70%

我知道答案,我要回答