JS 框架 词条目录
前端Wiki/词条/客户端渲染 CSR

客户端渲染 CSR

定义页面只有一个空壳 HTML,内容全部由浏览器下载并执行 JS 后渲染出来的方式,是现代 SPA 的默认形态

客户端渲染的链路是:服务器返回一个几乎空的 HTML,浏览器拿到后下载 JS bundle、解析执行、由框架把组件渲染进容器、再按需请求数据。用户看到首屏前要等这条完整链路跑完,因此首屏较慢、网络差时空白感强,爬虫抓不到内容,SEO 天然吃亏。

它的优点也很突出:首次加载后路由切换不再请求整页,交互流畅;服务器几乎只负责 API,部署成本极低;前后端彻底解耦,团队分工清晰。后台管理系统、在线文档、编辑器这类登录后重交互场景,CSR 仍是性价比最高的选择。

JavaScript
// 客户端渲染的最简形态:HTML 是空壳,全部内容由 JS 生成
// index.html 只有:<div id="app"></div><script src="app.js"></script>
var routes = {
  '/': function () { return '<h1>首页</h1>'; },
  '/list': function () { return '<ul><li>项目 A</li><li>项目 B</li></ul>'; }
};

function render() {
  var path = location.hash.slice(1) || '/';
  document.getElementById('app').innerHTML = (routes[path] || routes['/'])();
}
window.addEventListener('hashchange', render);
render();
// 页面初始时 #app 为空,上面这段 JS 执行完才看得见内容——这就是 CSR
⚠ 常见误区
🔗 相关词条前端生命周期
← 返回来源章节单向数据流