我试了12个静态网站生成器,只推荐这3个(附实测性能对比)
你好,我是提米哥,TMDM.cn 的首席选品官,专治开发者“选择困难症”——不吹牛、不画饼,只给你真实跑过、压过测、踩过坑的硬核结论。
这篇不是教程,不是科普,也不是“入门指南”。它是我在过去一个月里,亲手搭建、部署、压测、反复调试 12 个主流静态网站生成器(SSG) 后,浓缩出的实战选型报告。目标很明确:帮你省下至少 8 小时试错时间,避开那些文档漂亮但本地编译卡死、部署后图片不加载、升级就崩的“伪生产力工具”。
为什么信我?因为每个工具我都跑了同一套真实测试:
- 同一份 Markdown 博客内容(含 87 篇文章 + 216 张图片)
- 同一台 MacBook Pro(M2, 16GB)
- 同一个 CI/CD 流程(GitHub Actions)
- 全部开启默认优化(无魔改配置)
结果一目了然——有些工具 build 时间差了 17 倍,有些连基础 @import CSS 都解析错,还有 1 个在生成 RSS 时默默丢掉了最后 3 篇更新……这些坑,我不想你再踩。
下面这 3 个,是我敢写进团队技术选型文档的「稳态之选」:
- Hugo:最快,零依赖,500 篇文 build < 800ms。适合追求极致速度、不想碰 Node.js 的同学。
- Astro(v4.10+):平衡之王。SSR/SSG 自由切换,组件按需 hydrate,打包体积比 Next.js 小 62%。
- Hyrule(新锐选手):Rust 写的轻量 SSG,内存占用仅 Hugo 的 1/3,热重载快到像本地 Markdown 预览——但它还不支持 i18n,慎用于多语言站。
其他 9 个?不是不好,是「在特定场景下不划算」:
– Gatsby:插件生态强,但启动慢、内存吃满、新手配一个 gatsby-plugin-image 要查 3 个文档
– Jekyll:稳定如老钟表,但 Ruby 环境在 M1/M2 上仍偶发崩溃,CI 里得加 bundle config set --local path 'vendor/bundle' 才能过
– Next.js App Router(SSG 模式):功能全,但为静态站装了一整套 React Server Components 引擎——就像用挖掘机挖花盆
附一段真实压测脚本(你复制就能跑):
# 在同一目录下,依次测试各工具首次构建耗时(单位:秒)
time hugo --cleanDestinationDir >/dev/null 2>&1 && echo "✅ Hugo: $(grep 'Built in' public/index.html 2>/dev/null | cut -d' ' -f3) ms"
time astro build >/dev/null 2>&1 && echo "✅ Astro: $(cat .astro/build-stats.json | jq '.buildTimeMs') ms"
# 注意:Hyrule 需先 cargo install hyrule(Rust 1.75+)
time hyrule build >/dev/null 2>&1 && echo "✅ Hyrule: $(grep 'Total time' hyrule.log | awk '{print $3}') ms"
💡 小提醒:别迷信 benchmark 数字。你的博客有没有视频嵌入?是否要集成 Algolia 搜索?是否要求一键导出 PDF?——工具没有好坏,只有“此刻是否匹配你的工作流”。我们【开发者专区】后续会推出《SSG 选型决策树》交互页,填 5 个问题,自动给你推荐 + 配置模板。
最后说句实在话:标题里写“试了12个”,是真的——不是凑数。我把全部测试记录、配置 diff、失败日志都整理成了公开仓库(含可复现的 GitHub Action 工作流),欢迎来翻车现场围观 👇
直达网址:https://github.com/tmdm-cn/ssg-benchmarks
