Hexo 替代方案:Astro、Hugo、VitePress 选型对比

Hexo 的问题

Hexo 在 2015–2020 年是最流行的静态博客框架,但现在暴露出几个问题:

  • 插件生态老化:很多插件多年未更新,兼容性问题多
  • 大站构建慢:文章超过几百篇后全量构建明显变慢
  • Markdown 扩展性差:不支持 MDX,组件嵌入需要 hack
  • 主题质量参差不齐:活跃维护的主题越来越少

主流替代方案

Astro(个人博客首选)

适合: 个人博客、作品集、内容站

npm create astro@latest

核心优势:

  • Islands 架构:默认零 JS,按需激活交互组件
  • MDX 支持:Markdown 里可以嵌入任意框架组件(React/Vue/Svelte)
  • 构建速度快:增量构建,千篇文章也流畅
  • SEO 友好:内置 sitemap、RSS、Open Graph
  • 主题生态活跃:官方 theme showcase 持续更新
  • 多框架:同一项目可以混用 React、Vue、Svelte 组件

缺点:

  • 学习曲线比 Hexo 稍陡(需要理解 Islands 概念)
  • .astro 文件语法独特

Hugo(超大站、Go 技术栈)

适合: 文章超过千篇、CI/CD 要求构建秒级完成

brew install hugo
hugo new site myblog

核心优势:

  • 构建速度极快:Go 实现,数千篇文章构建只需几秒
  • 单二进制:不依赖 Node.js,部署环境干净
  • 模板系统强大:Go template,灵活但学习成本高

缺点:

  • Go template 语法反直觉,调试困难
  • 不支持组件化(无 MDX)
  • 主题质量不稳定

VitePress(Vue 技术文档)

适合: 技术文档、组件库文档

npm add -D vitepress

核心优势:

  • Vite 驱动:热更新极快
  • Vue 生态:文档里可以直接写 Vue 组件做交互 Demo
  • 默认主题精美:开箱即用,对比 Hexo 默认主题体验好很多

缺点:

  • 专门为文档场景优化,个人博客功能(RSS、标签、归档)需要手写
  • 不适合内容站

Next.js(需要服务端功能)

适合: 需要 SSR、API Routes、数据库查询的站点

优点:

  • 完整的 React 生态
  • SSG + SSR + ISR 混用
  • Vercel 一键部署

缺点:

  • 对纯静态博客来说过重
  • 构建后体积大

Docusaurus(纯文档站)

适合: 开源项目文档、知识库

Meta 出品,React 生态,内置版本管理、多语言、搜索。对博客场景支持一般。

选型建议

场景推荐
个人博客、内容站Astro
超大站(千篇以上)或 CI 构建极速要求Hugo
Vue 组件库文档VitePress
需要 API / 数据库Next.js
开源项目文档Docusaurus

从 Hexo 迁移成本最低的是 Astro:Markdown 文件基本兼容,frontmatter 格式相同,只需调整模板层。