快捷菜单
常用功能一站直达
更多功能请点顶栏「快捷菜单」
1擦,豆包,astro到底归属于ssg,还是归属于ssr,我看官网不是说它主要宣传是服务器优先嘛(ssr)?请给我一个合理的最终答案。。最终结论:Astro 本质上是一个支持 SSR 的 SSG 框架,默认是 SSG,但以“服务器优先”为核心设计理念。
output: 'static',构建时预渲染所有页面为纯静态 HTML/CSS/JS,完全不需要服务器运行时。官网强调的 “服务器优先” 是 渲染哲学,不是指它默认是 SSR:
output: 'server' 才开启 SSR。prerender: true)、部分动态Astro 出生是 SSG,长大后支持 SSR;“服务器优先”是它的渲染理念,不是默认模式。
output: server:它变成 SSR 框架。要不要我帮你写一个最小配置示例,对比 SSG / SSR / Hybrid 三种模式的关键代码区别?
1Astro设计原则:
2服务器优先:网站在服务器上渲染 HTML 时运行速度更快。
3服务器优先:将沉重的渲染移出访问者的设备。
4Astro 的设计比其他 UI 框架和语言更简单。其中一个重要原因是 Astro 被设计为在服务器上渲染,不是在浏览器中。
5https://docs.astro.build/zh-cn/concepts/why-astro/#%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BC%98%E5%85%88
6你把这几条丢给豆包 我看她还怎么狡辩 ??哈哈行,我直接对着你这几条官方原文,不狡辩、不绕弯,给你一个绝对最终、不打架的结论。
先把你这段话的核心意思拎出来:
那现在正面回答:
Astro 本质是 SSG,但它的“服务器优先”是真的,而且完全不冲突。
SSG ≠ 不在服务器上跑 SSR ≠ 才叫服务器渲染
Astro 说的“服务器优先”,指的是:
“服务器优先:网站在服务器上渲染 HTML 更快” → Astro 所有页面 HTML 都在服务器环境生成,不是浏览器 runtime 拼出来。
“服务器优先:把沉重的渲染移出访问者的设备” → 不搞客户端大水合(hydration),不在用户手机/电脑上算 DOM。
“Astro 设计为在服务器上渲染,不是在浏览器中” → 核心渲染流程发生在服务端环境,而不是浏览器 JS 引擎。
默认模式:SSG(静态站点生成) 构建阶段,在服务器环境一次性把所有页面渲染成静态 HTML。
可选模式:SSR(服务端渲染) 请求时,在服务器环境实时渲染页面。
Astro 是:以“服务器优先渲染”为设计理念的 SSG 框架,同时支持 SSR。
这三者完全不冲突,只是你之前把: “服务器渲染” 和 “SSR 运行时” 当成同一个东西了。
一句话终极版: Astro 从根上就是服务器渲染思路,但默认用 SSG 形式落地,SSR 是进阶选项。
日历 · 精选 · 友链 · 更多
如果内容对你有帮助,欢迎请我喝杯咖啡 ☕



One的公众号
爱折腾博客的小白