理解 Astro 的岛屿架构
为什么选 Astro
作为前端工程师,内容型站点最重要的是首屏速度和 SEO。Astro 默认把所有组件渲染成静态 HTML,不发送任何客户端 JavaScript,只有标注了 client:* 指令的组件才会被「注水」成可交互的岛屿。
---
import Counter from '../components/Counter.jsx';
---
<Counter client:load />
部分注水(Partial Hydration)
client:load、client:idle、client:visible 让你精确控制 JS 何时加载。对于博客这类以阅读为主的页面,绝大多数区域保持纯静态即可,交互组件按需引入。
这也意味着部署时只需要一堆静态文件,随便扔到 Nginx 或任意静态托管上就能跑,正适合轻量博客。