查看原文
其他

2020年排名前11位的静态网站生成器,有你用过的吗?

Dunizb 前端全栈开发者 2022-07-09

随着JAMstack及其社区的发展,静态站点生成器变得越来越流行。在本文中,让我们看一下2020年顶级的静态网站生成器!

为什么选择静态网站生成器

让我们快速讨论一下静态网站生成器的优点。

速度

静态站点生成器在构建时生成站点页面,而不是实时生成。这意味着,当用户从您的网站请求页面时,没有延迟,没有对数据库的调用。没有生成HTML,它只是以文件本身作为响应。

因此,文件的托管非常简单。通过在内容分发网络(CDN)中托管您的网站,您的文件可以在世界各地以最快的速度复制。

安全

在使用静态网站生成器之前,开发人员将使用流行的内容管理系统(CMS),由于它们的受欢迎程度,它们经常成为黑客的目标。对于静态站点生成器,您不再需要CMS。这意味着你不必担心你的网站/数据会成为目标。

开发流程

使用静态网站生成器,您无需创建或管理自己的后端服务器。您也不必运行自己的数据库,这使得在本地运行站点,自动构建,切换到其他主机等变得异常简单。

还有很多好处,但让我们来看看名单!

1.Gatsby

Gatsby是我在这个列表中最喜欢的一个,也是我几乎每天用于个人网站和演示项目的一个。Gatsby在过去的几年里确实名声大噪,成功地获得了几轮投资。

我几乎可以找到所有需要的Gatsby插件!

最让我兴奋的是Gatsby的插件生态系统。对于我遇到的几乎所有问题,我通常都能找到一个插件来帮助解决。

Gatsby最近还发布了Gatsby Cloud,它被宣传为“创建和部署Gatsby网站的最佳方式”。如果您正在构建Gatsby站点,那么它值得一看。

概括:

  • 使用React和GraphQL
  • Gatsby Cloud优化构建
  • 强大的插件生态系统
  • 强大的社区
  • 得到多轮融资的支持
  • 支持PWA
  • 惊人的文档

2.Next.js

Next.js是建立在React之上的另一个很棒的选项。它在社区中也非常流行,基本上是使用React的另一个事实上的静态站点生成器。

尽管我们将其列为静态站点生成器,但需要注意的是,这还不是全部。首先,Next.js支持服务器渲染。您还可以将serverless(无服务器) 功能定义为API端点,这使您可以控制如何构建和部署Next.js应用程序。

概括

  • 服务器渲染,并可以选择导出为静态站点
  • 无服务器功能的API路由
  • 由Zeit支持
  • 轻松与Zeit Now集成
  • PWA支持

3.Gridsome

到目前为止,我们已经讨论了两个基于React的静态站点生成器。现在,让我们过渡到一些构建在Vue之上的,首先是Gridsome。

虽然Vue目前还没有React所拥有的以下功能,但Vue社区仍在不断发展壮大,这一点很重要。根据JavaScript的现状调查,越来越多的人使用并喜欢Vue。

也就是说,Gridsome最像Gatsby了。与Gatsby类似,它由GraphQL提供支持,这是目前开发人员社区中最受欢迎的开发工具。它还支持PWAs和开箱即用的代码分离。我听到了有关Gridsome的许多好消息,因此,如果您有一些Vue经验,那么这是一个很好的起点。

概括

  • 建立在Vue之上,一个不断发展的社区
  • 堪比Gatsby
  • 由GraphQL提供支持
  • 支持PWA
  • 自动代码分割

4.Nuxt.js

虽然Gridsome与Gatsby相比还算不错,但我们的下一个项目Nuxt。相比之下 Next.js更好。事实上,Next.js是Nuxt.js的灵感来源。

例如,它们都支持服务器渲染和静态生成的内容。Nuxt.js声称拥有“两全其美”的能力,将两者有力地结合在一起。

下面是Nuxt.js提到的一个额外的一点。开发人员不需要利用服务器渲染或静态生成的内容来寻找使用Nuxt.js的理由。与上面提到的框架一样,Nuxt.js在Vue(考虑自动路由配置)之上添加了一些可能值得考虑的细节。

概括

  • 服务器渲染和静态生成的内容
  • 由不断发展的社区Vue打造
  • 自动代码分割
  • 支持PWA

5.11ty

到目前为止,我们已经讨论了构建在JavaScript框架之上的静态站点生成器。另一方面,11ty只是基于纯JavaScript构建的,这意味着您不需要已经熟悉React或Vue这样的框架,如果您熟悉JavaScript,就可以开始了。

11ty标榜自己是“更简单的静态站点生成器”。这使得挑选和定制变得容易。我听到别人谈论的最喜欢的特性之一就是选择自己的模板语言。如果你已经熟悉了 Handlebars 之类的东西,那就继续使用吧。

概括

  • 基于普通JavaScript(没有框架)
  • 不需要预先了解React或Vue
  • 选择模板语言
  • 简单直接

6.Hugo

Hugo是我们将介绍的第一个不使用JavaScript的静态网站生成器。它是使用Go(一种由Google创建的开源语言)构建的。Go并不像JavaScript那样流行,但是我听说越来越多的开发人员/公司开始采用它。

Hugo的一个很酷的特性是它的内置模板,有助于快速起步并使用Hugo。它利用了可以在Markdown中使用的快捷方式来增加更多的灵活性和可重用性。

概括

  • 使用Go编程语言构建
  • 极快
  • 作为一种语言,Go 正获得越来越多的关注
  • 内置模板,可快速入门
  • Markdown中有用的快捷方式

7.Jekyll

Jekyll是另一个非常流行的选项,它是用Ruby构建的。Ruby是一种非常流行的编程语言,尤其是在Ruby on Rails框架中。因此,如果您有Ruby/Ruby on Rails的背景,那么您将希望与Jekyll进行交互。它是使用时间最长的静态网站生成器之一。

Jekyll将Markdown文件与非常流行的Liquid模板引擎结合在一起。有趣的是,Github Pages由Jekyll提供支持,这意味着您可以轻松地将Jekyll网站免费部署到GitHub!

概括

  • 用Ruby编程语言构建
  • 强大的的Ruby生态系统
  • 轻松托管在Github页面上

8.Scully

上面,我们提到了一些使用JavaScript构建的静态网站生成器,但是我们从未提及Angular框架。Scully是Angular解决“静态网站生成器”热门的答案。与到目前为止我们讨论的其他选项相比,Scully还是相对较新的。

尽管Angular可能没有React所拥有的社区类型,但它仍然非常受欢迎。Angular的CLI非常棒,有了它,你可以用一个命令把Scully添加到现有的项目中。在过去的几个版本中,Angular在升级路径上都做了一些令人惊奇的事情,这仅仅是一个例子。Angular CLI还内置了一些惊人的脚手架命令,可为您生成项目文件。

概括

  • 用Angular构建
  • Angular CLI轻松将Scully添加到现有项目
  • Angular CLI脚手架工具很棒

9.Sculpin

PHP是我们尚未谈论的另一种非常流行的语言。如果您最熟悉PHP(也许是从Wordpress开发回来的),那么您将需要查看Sculpin。它使用Markdown文件和一个名为Twig的模板引擎。

概括

  • 用PHP和Symfony框架构建
  • 使用Markdown和Twig模板引擎

10.Sapper

在所有关于JavaScript的讨论之后,我们还没有提及Svelte,它是最令人兴奋的新兴JavaScript框架之一。开发人员喜欢简洁、快速的代码。使用Sapper,您可以利用Svelte构建静态生成的站点,从而利用这些优势。

Sapper最容易与Next.js进行比较,它实际上是从Next.js获得灵感的。与Next.js相似,Snapper具有服务器渲染页面以及定义API端点的能力。然后,Snapper提供了导出为静态站点的功能。

概括

  • 使用Svelte框架构建
  • 导出到静态站点选项
  • 快速
  • 代码分割
  • 离线支持

11.Middleman

Middleman是我们列表中的最后一个静态站点生成器,它使用Ruby作为其选择的语言。与上面的Jekyll相似,在进入Middleman之前,您需要熟悉Ruby和Ruby Gems生态系统。在研究这个框架时,我喜欢的一点是,它们的文档中嵌入了视频。作为一个从视频中学习得最好的人,我真的很欣赏这一点。

Middleman使用ERB作为默认的模板语言,如果您过去使用Ruby on Rails可能会熟悉。Middleman还允许您使用其他几种模板语言。

概括

  • 用Ruby构建
  • ERB作为默认模板引擎
  • 大量的软件包Ruby Gems
  • YAML格式

近期推荐:


感谢您的阅读和关注,看完三件事:
如果对你有帮助,帮忙文章右下角点个在看如果有什么问题欢迎留言交流,还可以转发,这是对作者最大的帮助。觉得好就点个在看转发吧,这是最大的鼓励!⬇


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存