You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nuxt3中预渲染所有路由且不生成服务端文件?

Nuxt3 预渲染整站生成纯静态资源的配置方案

要让Nuxt3生成仅包含HTML、JS、CSS的纯静态站点,你需要调整配置明确指定静态输出模式——仅开启crawlLinks不足以移除服务端相关文件。

修改你的Nuxt配置文件如下:

// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  ssr: true, // 保持SSR开启以支持预渲染
  nitro: {
    output: 'static', // 关键配置:指定输出为纯静态模式
    prerender: {
      crawlLinks: true, // 自动爬取链接生成所有关联路由
      // 可选:手动指定需要预渲染的路由(如果自动爬取遗漏的话)
      // routes: ['/', '/about', '/blog']
    }
  }
})

配置说明

  • nitro.output: 'static':这是核心配置,告诉Nuxt生成纯静态输出,不会包含任何服务端相关文件,所有路由都会被预渲染成独立的HTML文件。
  • ssr: true:预渲染依赖SSR模式来生成静态HTML,保持开启即可。

构建生成

运行构建命令:

npm run generate

生成的静态资源会存放在.output/public目录下,这个目录里的所有文件都可以直接部署到任意静态文件托管服务,不需要依赖任何服务端。

额外注意事项

  • 如果你的站点包含动态路由(比如/posts/[id]),需要在prerender.routes里手动添加所有需要预渲染的动态路由条目,或者通过Nuxt的生成钩子自动生成这些路由。
  • 确保页面中的数据请求在预渲染阶段能正常获取到,避免出现客户端 hydration 不匹配的问题。

内容的提问来源于stack exchange,提问作者mesqueeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:52:36