返回博客列表
Next.js前端性能优化

Next.js 静态导出最佳实践

2025-01-151 分钟阅读

什么是静态导出?

Next.js 的静态导出(Static Export)功能可以将你的应用预渲染为纯静态 HTML 文件。这意味着你不需要运行 Node.js 服务器,只需要一个简单的 HTTP 服务器(如 Nginx)就可以部署你的网站。

为什么选择静态导出?

对于企业官网、博客、作品集等内容不频繁变化的网站,静态导出有以下优势:

  • 极快的加载速度 — 纯静态文件,没有服务端渲染开销
  • 极低的资源消耗 — 不需要 Node.js 进程,内存占用极小
  • 高可靠性 — 没有后端服务崩溃的风险
  • 部署简单 — 上传文件即可,无需复杂配置

如何配置

在 next.config.ts 中添加以下配置:

const nextConfig = {
  output: "export",
  trailingSlash: true,
  images: { unoptimized: true },
};

注意事项

静态导出不支持服务端 API 路由和中间件,如果你需要这些功能,请考虑使用传统的 SSR 部署。

图片优化

由于静态导出不支持 Next.js 的图片优化 API,需要设置 images: { unoptimized: true }。

动态路由

动态路由需要通过 generateStaticParams 预先生成所有可能的路径。例如博客文章:

export function generateStaticParams() {
  return posts.map((post) => ({ slug: post.slug }));
}

总结

静态导出是构建高性能网站的绝佳选择。结合 Nginx 和 CDN,你可以获得极致的访问速度和稳定性。