术语图鉴/前端基础/单页应用
←→切换Esc返回

单页应用 SPA (Single Page Application)

你可能会说

页面切换时整个浏览器都刷新了,能不能像 App 一样无刷新切换?

单页应用只加载一次 HTML,之后所有页面切换都通过 JS 动态替换内容,无需整页刷新。

整个网站只有「一个页面」,切换内容时不刷新浏览器,而是用 JavaScript 动态替换内容。体验像手机 App 一样流畅。

也常被叫作SPA (Single Page Application)Single Page Application

生活类比

像换电视频道——电视(页面)没关,只是画面(内容)变了。传统网站则像关掉电视再打开另一台。

🎮 动手试试

👇 点击导航——注意地址栏不会刷新

🏠 首页内容
window.location = "/home" (无刷新)
选择题选择一个你认为最合适的答案

关于「单页应用」,以下哪个描述最准确?

你可以这样告诉 AI

帮我把这个多页网站改成 SPA 架构:用 React Router 管理路由,页面切换时只替换内容区,加过渡动画。

容易混淆?这样区分

单页应用 SPA (Single Page Application)≠
MPA 多页应用 Multi-Page App

MPA 每次跳转都请求新 HTML 整页刷新;SPA 只加载一次,之后 JS 接管路由无刷新切换。

单页应用 SPA (Single Page Application)≠
SSR Server-Side Rendering

SPA 强调客户端渲染,SSR 在服务器生成 HTML。Next.js 是混合模式——首屏 SSR + 后续 SPA。

什么时候用

构建 Web App

后台管理、社交应用、在线工具等交互密集的产品,SPA 无刷新切换带来接近原生 App 的体验。

和 AI 协作时

想让 AI 搭一个单页应用时,直接说「用 React Router 做 SPA,页面切换不要整页刷新」。

什么时候不用

SEO 优先的内容站

博客、文档、营销落地页需要搜索引擎完整收录每一页,SPA 的客户端渲染对爬虫不友好。

与后端渲染无关的项目

纯静态 HTML 页面或用 SSG 生成的站点不需要 SPA 架构,直接多页部署更简单。

组成结构 · Anatomy

1
核心概念Core

整个网站只有「一个页面」,切换内容时不刷新浏览器,而是用 JavaScript 动态替换内容。体验像

2
实际表现In Practice

像换电视频道——电视(页面)没关,只是画面(内容)变了。传统网站则像关掉电视再打开另一台。

3
与 AI 的关联AI Context

你的网站用 Next.js 构建,就是典型的 SPA/混合应用。

典型使用场景

SPA 页面切换
告诉 AI「把这个多页网站改成 SPA,点击导航链接时不刷新整页只替换内容区,加一个页面切换的淡入动画」
想弄懂概念时
告诉 AI「用大白话给我解释什么是单页应用,举个生活中的例子」

延伸阅读