Create React App (CRA) 长期以来一直是我开发 React 的首选工具,其简单易用,官方支持强大(官方维护,这是当初选择它的主要原因之一!),几乎可以满足大多数项目的初始需求。然而,随着项目的复杂度不断增加,CRA 的一些局限性逐渐显现,尤其是在开发效率和性能优化方面。经过长时间的思考和实践,我最终决定放弃 CRA,转而使用 Vite。
Create React App 的优势
在讨论为什么放弃 CRA 之前,我们先来看看它的优点:
1.开箱即用:有完整的开发环境,包括了 Babel、Webpack、ESLint 等工具
2. 社区支持:社区庞大,文档缝补,遇到问题容易找到解决方案
3.无需配置:零配置特性
转向 Vite 的原因
尽管 CRA 有诸多优点,但在实际开发中,还是有不少痛点:
1.构建速度:CRA 使用的 Webpack 构建速度相对较慢,尤其是在大型项目中,这会显著影响开发效率
2.配置复杂性:当项目需求超出 CRA 提供的默认配置时,深度配置变得很难
3.现代前端需求:随着前端技术的发展,项目中越来越多地使用 TypeScript、Vue、React 17+ 等现代技术栈,CRA 的默认配置可能不再满足需求
Vite 的优势
Vite 作为一个新兴的构建工具,它提供了以下优势:
1.极速启动和热更新:Vite 在开发环境下使用原生的 esbuild 作为编译器,这使得启动和热更新速度极快
2. 易于配置:Vite 的配置相对简单直观,使得自定义构建流程变得更加容易
3.支持现代框架:Vite 原生支持 TypeScript、Vue 3、React 17+ 等现代前端技术栈,无需额外配置
实际体验
切换到 Vite 后,最大的感受就是快。无论是启动开发服务器还是响应代码变更,Vite 都表现得非常迅速。对于那些希望提升开发效率、优化应用性能的开发者来说,Vite 无疑是一个值得尝试的工具。
但我建议,代码是能不动则不动,所以如果你有新的项目,可以尝试 Vite,熟悉之后再考虑迁移旧项目。