返回 Astro 建站手记

1.1 为什么用 Astro

内容站的核心诉求是:文章是 Markdown,产出是静态文件,浏览器端尽量少跑 JavaScript。

与几个常见方案的对比

方案构建产物浏览器端 JSMarkdown
纯静态生成器静态 HTML原生支持
单页应用框架HTML + JS 包需要插件
Astro静态 HTML默认无原生支持

关键差异在第三列和第四列的交叉点:单页应用要把 Markdown 在浏览器里渲染,或者额外做一层预渲染;Astro 直接在构建期把 Markdown 变成 HTML。

默认零 JavaScript

「默认零 JS」是它最有价值的设计。组件里写的脚本默认会在构建期执行,只有显式标记的才会送到浏览器。

这带来一个直接好处:页面到达浏览器时就是最终形态。不会出现内容先空着、等 JS 执行完再填上的闪烁。

什么时候不该用它

  • 强交互的应用(后台、编辑器)——那是单页应用的领域
  • 需要服务端实时数据的场景

判断标准很简单:页面内容是否需要用户操作才出现。如果需要,静态生成就不合适。