前段时间有朋友问我建个公司官网用什么技术栈,我说直接上Hugo或者Astro。他说"现在不都Next.js吗"。这就是问题——很多人默认用Next.js,但其实大部分网站根本不需要SSR。
过去两年我分别用Hugo、Astro、Next.js各建过至少一个站点。不算大项目,每个站大概20-50个页面。下面是真实体验和选型建议。
Hugo:快得离谱的静态站
Hugo是用Go写的,编译速度是三者里最快的。我那个50页的站点,Hugo构建时间0.8秒。你没看错——不到一秒。对比Next.js同样的内容量静态导出大概要45秒。
优点:构建快、部署简单(输出就是纯HTML文件,丢到任何CDN上就行)、模板语法好学、主题生态成熟。缺点也明显:没有动态能力、复杂交互需要额外JS、主题自定义到一定程度就开始跟模板打架。
适合场景:个人博客、文档站、官网(纯展示型)。不适合:有用户登录、实时数据、复杂交互的站。
Astro:最灵活的中间方案
Astro的设计哲学是"默认零JS,需要时再加"。页面默认渲染成纯HTML,如果你某个组件需要交互(比如轮播图、搜索框),就用"岛屿架构"单独加载那部分JS。
实际操作起来比Hugo舒服不止一个档次。你可以用React组件写某个widget,用Vue写另一个,用Svelte写第三个——然后在构建时全部编译成静态HTML。2026年的Astro 5.x版本已经在成熟度上追上来了,GitHub 50k+ star不是白拿的。
我目前最推荐的组合是Astro + Tailwind CSS + Markdown内容。Markdown写文章,Astro组件做布局和交互,Tailwind处理样式。对于一个20页左右的内容站,从写到部署上线,我一个人花了一个下午。
Astro的Content Collections功能特别好用——你可以定义文章的frontmatter schema,写错字段构建时直接报错。比WordPress的自由度低一点,但避免了"为什么这篇文章样式不对"这种诡异的bug。
Next.js:最强大但最重
2026年的Next.js 15.x已经是一个全栈框架了。Server Components、Server Actions、Partial Prerendering——能力很强,但也意味着复杂度上去了。建一个简单的博客就要面对20多个配置文件、中间件、缓存策略。
不是说Next.js不好。如果你的站需要:用户登录系统、实时数据仪表盘、复杂的API路由、ISR(增量静态再生成)——那Next.js是合理的选择。但如果你只是建一个官网、博客、文档站,用Next.js就像用大炮打蚊子。
还有一个容易被忽略的成本:Next.js需要Node.js运行环境。静态导出(SSG)可以免掉,但一旦用了ISR或Server Components,就必须有Node服务器。Vercel托管很方便但月费$20起步。Hugo和Astro纯静态站丢到GitHub Pages或Cloudflare Pages上,月费零。
我的选型建议
纯内容站(博客/文档/官网)→ Astro(首选)或 Hugo(如果你喜欢极简)。需要些交互但不多 → Astro + React/Vue岛屿。全栈应用(登录/API/实时数据)→ Next.js。懒得自己搭→ WordPress(虽然不在今天的对比里,但它仍然是最省事的选择)。
最后说句实话:用户不关心你用什么技术栈。内容好、加载快、手机上看着舒服——这三点比框架选型重要十倍。2026年的用户耐心比2020年还短,页面加载超过两秒就开始流失。不管你选哪个,先保证Lighthouse分数上90再说。
标签: Hugo Astro Next.js 静态网站生成器 网站建设
还木有评论哦,快来抢沙发吧~