fireship.io
經過仔細考量基於 JavaScript/JSX 的靜態網站生成器後,我們發現 Hugo 是唯一能夠應對我們專案複雜需求的工具。我們不僅擁有多種內容格式和分類法,還經常需要在更細緻的層面上自訂使用者體驗。Hugo 為我們解決的問題包括:
- 渲染速度。 根據過往經驗,當有成千上萬的頁面和圖片時,基於 JavaScript 的靜態網站生成器會變得非常緩慢。
- 功能豐富。 我們的網站有一長串專門的需求,而 Hugo 不知怎的能夠涵蓋每一個使用情境。
- 組合性。 Hugo 的部分與簡碼系統讓我們能夠撰寫不重複且可維護的範本。
- 簡單性。 Hugo 容易學習(即使沒有 Go 經驗)且不會讓我們承擔脆弱的相依性。
這個網站能夠達成 Lighthouse 性能分數 95+,儘管它是一個完全互動的 PWA,並且在 JS 包中包含了 Angular 和 Firebase。這得以實現的原因是 (1) 使用 Hugo 預渲染內容,以及 (2) 以懶加載的方式將原生網頁元件直接嵌入 HTML 和 Markdown。我們在 YouTube 上提供了 詳細的解釋,並且無法想像沒有 Hugo 的開發過程。