为什么要在常规打包器 (Webpack/Parcel) 上使用 Hugo 等静态站点生成器?

Why use a static-site generator such as Hugo, over a regular bundler (Webpack/Parcel)?

我觉得好像错过了什么。我已经通读了 Jekyll 和 Hugo 的文档,但仍然对为什么要使用它们而不是像 Pug 和 Webpack 或 Parcel 这样的东西来创建静态站点感到困惑。

那么,静态站点生成器提供了哪些打包程序不具备的功能?

你在这里比较苹果和橙子。虽然所有这些工具在技术上都可用于创建静态网站,但它们有不同的用途。引用Jekyll's homepage的header:

Transform your plain text into static websites and blogs.

Jekyll 和 Hugo 确实是为纯文本和(主要)博客设计的。作为用户,您用纯文本或 Markdown 编写文章,并使用这些工具将它们变成静态 HTML 站点。除了生成 HTML,这些工具还有很多博客通常需要的功能,例如他们创建了所有文章和支持类别的索引。

使用 Jekyll(可能还有 Hugo,但我自己从未使用过),您还可以将不是博客文章的页面添加到您的网站。所以从理论上讲,您可以放弃博客并使用它来构建静态网站。但这可能不是大多数人使用它的原因...

将其与 Webpack 进行比较:Webpack 首先是 Javascript 的构建工具。它不关心您是在构建静态页面、渐进式 Web 应用程序还是移动应用程序。它只是根据您提供的配置捆绑您的资产。通过正确的配置,您当然可以将其用于静态页面,但 Webpack 不会提供比打包文件更多的功能。

根据您的目标,这些工具中的任何一个可能更适合您。像 Jekyll 和 Hugo 这样的工具使得开始和创建静态网站或博客变得非常简单。您可以为 HTML 设置样式,在其上添加 JavaScript 并创建您自己的设计。或者您只是获取社区中其他人创建的现有模板。无论您选择哪种方法,您都可以在几分钟内获得一些东西 运行。

另一方面,像 Webpack 这样的工具为您提供了所有的灵活性和强大的功能,但也需要您自己做所有事情。使用它们构建静态站点是否有意义实际上取决于您的用例。