1.6 选择构建器 #
Jamstack没有规定一种特定的技术。 开发人员可以自由选择自己喜欢的技术来构建网站。 有大量具有各种权衡的静态站点构建器。 有些是用不同的编程语言制作的,提供集成,并支持许多插件。
Jekyll是用Ruby构建的,是一个流行的静态站点构建器,可以与GitHub页面无缝集成。 GitHub可以从存储库中自动部署基于Jekyll的网站,而无需编写自定义构建步骤。 许多Hugo用户从Jekyll开始他们的旅程,并转移到Hugo以寻求更好的构建性能。
Hugo是拥有深度功能集的最快静态站点生成器之一。 Hugo的开发团队专注于构建一个系统,该系统可以在不到一秒钟的时间内渲染具有数百个页面的复杂网站。 Hugo用Go (Golang) 编写,本身一个是包含所有功能的单个二进制文件。 不必通过插件,核心团队已经对其大部分功能进行了标准化。 这种标准化允许以大量关注可维护性和性能的思想构建元素。 它的模板语言是一种完整的编程语言,我们可以用它来创建任何东西。 文档维护良好,在论坛社区中活跃。 许多拥有数百万月度用户的热门网站都有Hugo作为他们的生成器。 Hugo的核心是稳定的,虽然它确实在快速发展,但它与旧版本具有兼容性。
Gatsby、Nuxt和Next.js等一批流行的基于JavaScript框架的静态站点构建器应运而生。 他们迫使你遵循他们的选择,用特定的技术选择编写和使用JavaScript。 像Next.js这样的框架也包括构建API后端的功能。 如果你希望开发一个重JavaScript的应用程序并认同这些框架做出的决定,那么这些技术可能是不错的选择。 由于JavaScript生态系统的性质,以及这些框架存在的时间相对较短,我预计使用这些技术会有一些波折。
还有另一组静态站点构建器,例如Python中的Pelican和Rust中的mdBook。 它们在功能集和受欢迎程度上要小得多。 如果你与一种语言绑定并且想要编写自定义功能,可以使用这些构建器。