当前位置: 首页 > ds >正文

WHAT - 前端同构 Isomorphic Javascript

文章目录

  • 什么是同构
  • 为什么要使用同构?
  • 举个例子(以 React 为例)
  • 常见的同构框架
  • 总结

什么是同构

在前端开发中,“同构”技术(Isomorphic JavaScript,也叫 通用渲染 / 通用 JavaScript)是指:

同一套 JavaScript 代码可以在客户端(浏览器)和服务端(Node.js)中运行,且渲染出一致的页面内容。

为什么要使用同构?

传统的前端 SPA(单页应用)有几个缺点:

  • 首屏加载慢:因为需要先加载 JS,再渲染内容。
  • SEO 不友好:搜索引擎可能抓不到 JS 渲染后的内容。
  • 白屏时间长:页面加载前是空白的。

同构可以解决这些问题:

  • 首屏服务端渲染(SSR):服务器预先把 HTML 渲染好,浏览器能更快看到页面内容。
  • SEO 友好:HTML 内容直接输出到页面,搜索引擎可以抓取。
  • 客户端接管(Hydration):客户端 JS 接管服务端渲染的内容,实现交互。

举个例子(以 React 为例)

在 React 中,你可以在服务器渲染一个组件:

// server.js
import { renderToString } from 'react-dom/server';
const html = renderToString(<App />);

然后把这段 HTML 返回给浏览器。

浏览器接收到后,再用 ReactDOM.hydrate() 来接管:

// client.js
import { hydrateRoot } from 'react-dom/client';
hydrateRoot(document.getElementById('root'), <App />);

这样,同一份组件代码既能在服务端渲染,又能在客户端继续运行。

常见的同构框架

  • Next.js:最流行的 React 同构框架,支持 SSR、SSG、ISR。
  • Nuxt.js:Vue 的同构框架。
  • RemixSvelteKit 等也支持同构渲染。

总结

前端同构就是“组件代码一套走天下”,让你的页面在服务器和浏览器都能渲染,提升首屏速度和 SEO。

http://www.xdnf.cn/news/6833.html

相关文章:

  • Ubuntu系统安装VsCode
  • UAI 2025重磅揭晓:录取数据公布(附往届数据)
  • Python字符串常用内置函数详解
  • 独立开发者利用AI工具快速制作产品MVP
  • Qt功能区:Ribbon使用
  • Linux复习笔记(六)shell编程
  • 实现书签-第一部分
  • 中大型水闸安全监测系统建设实施方案
  • 在服务器上安装AlphaFold2遇到的问题(2)
  • 【C++】 —— 笔试刷题day_30
  • 【C++ | 内存管理】C++ weak_ptr 详解:成员函数、使用例子与实现原理
  • 力扣654题:最大二叉树(递归)
  • 实时技术方案对比:SSE vs WebSocket vs Long Polling
  • Java Set系列集合详解:HashSet、LinkedHashSet、TreeSet底层原理与使用场景
  • 产品经理入门——认识产品经理
  • OCCT知识笔记之Poly_Triangulation详解
  • YOLOv7训练时4个类别只出2个类别
  • vue使用Fabric和pdfjs完成合同签章及批注
  • 第八节第三部分:认识枚举、枚举的作用和应用场景
  • DeepSearch:WebThinker开启AI搜索研究新纪元!
  • 游戏站的几种形式
  • redis数据结构-11(了解 Redis 持久性选项:RDB 和 AOF)
  • STM32H743IIT6_ADC采集误差分析与ADC_DMA
  • 【论信息系统项目的整合管理】
  • leetcode 2900. 最长相邻不相等子序列 I 简单
  • 【LeetCode 热题 100】搜索插入位置 / 搜索旋转排序数组 / 寻找旋转排序数组中的最小值
  • 基于javaweb的SpringBoot驾校预约学习系统设计与实现(源码+文档+部署讲解)
  • Jenkins 安装与配置指南
  • A12 乐队指挥更懂管理
  • STM32 定时器主从模式配置解析