注册
web

React 官方推荐使用 Vite


“技术更替不是一场革命,而是一场漫长的进化过程。”



Hello,大家好,我是 三千。


React 官方已明确建议开发者逐步淘汰 Create React App (CRA) ,转而使用 Vite 等现代框架或工具来创建新项目。


那官方为什么要这样做呢?




一、CRA 被淘汰的背景与原因



  1. 历史局限性

    CRA 诞生于 2016 年,旨在简化 React 项目的初始化配置,但其底层基于 Webpack 和 Babel 的架构在性能、扩展性和灵活性上逐渐无法满足现代开发需求。随着项目规模扩大,CRA 的启动和构建速度显著下降,且默认配置难以优化生产包体积。
  2. 维护停滞与兼容性问题

    React 团队于 2023 年宣布停止积极维护 CRA,且 CRA 的最新版本(v5.0.1)已无法兼容 React 19 等新特性,导致其在生产环境中逐渐不适用。
  3. 缺乏对现代开发模式的支持

    CRA 仅提供客户端渲染(CSR)的默认配置,无法满足服务端渲染(SSR)、静态生成(SSG)等需求。此外,其“零配置”理念限制了路由、状态管理等常见需求的灵活实现。



二、Vite 成为 React 官方推荐的核心优势



  1. 性能提升

    • 开发速度:Vite 基于原生 ESM 模块和 esbuild(Go 语言编写)实现秒级启动与热更新,显著优于 CRA 的 Webpack 打包机制。
    • 生产构建:通过 Rollup 优化代码体积,支持 Tree Shaking 和懒加载,减少冗余代码。


  2. 灵活性与生态兼容

    • 配置自由:允许开发者按需定制构建流程,支持 TypeScript、CSS 预处理器、SVG 等特性,无需繁琐的 eject 操作。
    • 框架无关性:虽与 React 深度集成,但也可用于 Vue、Svelte 等项目,适应多样化技术栈。


  3. 现代化开发体验

    • 原生浏览器支持:利用现代浏览器的 ESM 特性,无需打包即可直接加载模块。
    • 插件生态:丰富的 Vite 插件(如 @vitejs/plugin-react)简化了 React 项目的开发与调试。





三、迁移至 Vite 的具体步骤 



  1. 卸载 CRA 依赖
    npm uninstall react-scripts
    npm install vite @vitejs/plugin-react --save-dev


  2. 调整项目结构

    • 将 index.html 移至项目根目录,并更新脚本引用为 ESM 格式:
      <script type="module" src="/src/main.jsx"></script>


    • 将 .js 文件扩展名改为 .jsx(如 App.js → App.jsx)。


  3. 配置 Vite

    创建 vite.config.js 文件:
    import { defineConfig } from "vite";
    import react from "@vitejs/plugin-react";

    export default defineConfig({
    plugins: [react()],
    });


  4. 更新环境变量

    环境变量前缀需从 REACT_APP_ 改为 VITE_(如 VITE_API_KEY=123)。
  5. 运行与调试

    修改 package.json 脚本命令:
    "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
    }





四、其他官方推荐的 React 框架 



  1. Next.js

    • 适用场景:服务端渲染(SSR)、静态生成(SSG)及全栈应用开发。
    • 优势:内置路由、API 路由、图像优化等功能,适合企业级应用与 SEO 敏感项目。


  2. Remix

    • 适用场景:嵌套路由驱动的全栈应用,注重数据加载优化与渐进增强。
    • 优势:集成数据预加载机制,减少请求瀑布问题。


  3. Astro

    • 适用场景:内容型静态网站(如博客、文档站)。
    • 优势:默认零客户端 JS 开销,通过“岛屿架构”按需激活交互组件。





五、总结与建议



  • 新项目:优先选择 Vite(轻量级 CSR 项目)或 Next.js(复杂全栈应用)。
  • 现有 CRA 项目:逐步迁移至 Vite,或根据需求转向 Next.js/Remix 等框架。
  • 学习曲线:Vite 对 React 核心概念干扰较小,适合初学者;Next.js 功能全面但学习成本较高。

React 生态正朝着  “库+框架”协同发展 的方向演进,开发者需结合项目需求选择工具链,以平衡性能、灵活性与开发效率。


结语


以上就是今天与大家分享的全部内容,你的支持是我更新的最大动力,我们下期见!


打工人肝 文章/视频 不易,期待你一键三连的鼓励 !!!



😐 这里是【程序员三千】,💻 一个喜欢捣鼓各种编程工具新鲜玩法的啊婆主。


🏠 已入驻:抖爸爸、b站、小红书(都叫【程序员三千】)


💽 编程/AI领域优质资源推荐 👉 http://www.yuque.com/xiaosanye-o…



作者:程序员三千_
来源:juejin.cn/post/7472008189976461346

0 个评论

要回复文章请先登录注册