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

Next.js应用是否属于SPA(单页应用)?

Next.js应用是否属于单页应用(SPA)?

不能简单把Next.js应用直接归类为单页应用,它是支持多种渲染模式的混合框架,最终应用是否符合SPA特性完全取决于开发者的配置和使用方式。

首先先明确SPA的核心判定逻辑:
普通React开发的SPA被归为单页应用,核心原因不是只有一个index.html文件,而是所有页面切换都在客户端完成,不需要从服务端请求新的HTML文档,仅靠JS动态替换页面内容,整个使用过程不会触发整页刷新。

Next.js的不同使用场景对应不同的应用形态:

  • 如果你开启Next.js的output: export配置导出纯静态产物,并且全程使用Next.js自带的<Link>组件做客户端路由跳转,那此时的应用本质就是SPA:即使构建过程生成了多个HTML文件,页面跳转时也不会重新加载整页HTML,只会复用现有上下文替换DOM内容,和普通React SPA的交互逻辑完全一致。
  • 如果你使用了Next.js的服务端渲染(SSR)、增量静态再生成(ISR)或是App Router下的服务端组件,此时应用属于SPA和多页应用(MPA)的混合形态:用户通过客户端路由跳转时走SPA的无刷新逻辑,首次访问页面、强制刷新或是直接输入URL访问时,会从服务端拉取对应页面的完整HTML,符合MPA的特征。
  • 如果你完全禁用Next.js的客户端路由,全部用原生a标签做页面跳转,那产出的就是纯MPA,和传统服务端渲染框架开发的站点没有区别。

总结来说,Next.js本身没有固定的SPA/MPA属性,开发者可以根据需求灵活调整出完全符合SPA、完全符合MPA或是两者混合的应用形态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:06:03