Astro 的默认模式是静态预渲染。
也就是:
提前把展馆布置好
游客来时直接参观现成展厅这是默认值,也是最符合内容站需求的值。
但 Astro 不只会这一种。你可以把它想成三种开馆方式:
Static = 全部提前布展
Hybrid = 大多数馆提前布展,少数馆现场布展
Server = 默认现场布展,但也可以挑部分提前布展官方配置大致像这样:
// astro.config.mjs
import { defineConfig } from 'astro/config';
import node from '@astrojs/node';
export default defineConfig({
output: 'hybrid',
adapter: node(),
});然后在具体路线里控制:
// 这一页不要预渲染,改成按请求生成
export const prerender = false;或者反过来,在 output: 'server' 项目里让某页提前生成:
export const prerender = true;一张图就能彻底记住:
Astro 开馆方式
│
┌──────────────┼──────────────┐
│ │ │
v v v
Static Hybrid Server
默认全预渲染 默认预渲染 默认按需渲染
提前布展完毕 少量馆现场开 大部分馆现场开这意味着 Astro 不是“只能静态”,而是:
它默认尊重静态内容网站的最佳实践,但也给你服务端通道。