五种渲染模式 + 一段 routeRules:先看差别,再试着判断命中

下面 HTML 片段是手写的「查看源代码」视图(已截断),用来把「首屏有没有正文」这件事看到眼里。

[迷你控制台] 切模式、判规则都会在这里说明背后的机制

routeRules 里各个字段是什么

字段做什么什么时候用部署产物差别
ssr: false这条路径关掉服务端渲染,只剩 JS 壳登录后后台、内部工具该路径产出 .html 空壳或走 SPA fallback
prerender: true构建时就把 HTML 生成成文件博客、文档、营销页多了 /blog/hello/index.html,纯静态可放 CDN
swr: 60先回缓存的旧 HTML,后台再重新生成(stale-while-revalidate)高频内容页、首页需要能跑的 Node(或 CDN 缓存层),产物带 /api/__skyline…缓存驱动
isr: { expiry: 3600 }Vercel/Netlify 式增量静态再生:首次现算,之后按期过期商品详情页、平台托管时平台自己管缓存,本地 node .output/server 会退化成 swr 行为
cache: 'default' | 'force-static'更底层的 Nitro 缓存策略(routeRules 新写法)要精细控制缓存键时同上,取决于 driver
redirect: '/blog'301/302 跳转(配 statusCode)改版换路径、旧 SEO 链接不需要 Node:静态托管也能生效(写在 _routes.json/nginx)
proxy: 'https://x/**'把这条路径转发给别的后端把老 PHP/Java 服务并到一个域名下需要能跑 Node(或改成 nginx 层反代)
headers / cors给响应加头(缓存头、CORS)set-header、跨域接口静态托管时 headers 靠 _headers 文件

顺序记三句:① nuxt build 出 Node 服务(.output/server/index.mjs),要跑进程;② nuxt generate 出纯静态目录,不要进程,但只能有预渲染过的路径; ③ 混合模式(nitro.prerender.crawlLinks + routeRules)产出「静态文件 + Node 服务」两份,由平台或 nginx 决定谁先接请求。