首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
01 | 课程介绍
02 | React出现的历史背景及特性介绍
03 | 以组件方式考虑UI的构建
04 | JSX的本质 : 不是模板引擎,而是语法糖
05 | React组件的生命周期及其使用场景
06 | 理解Virtual DOM及key属性的作用
07 | 组件设计模式 : 高阶组件和函数作为子组件
08 | 理解新的Context API及其使用场景
09 | 使用脚手架工具创建React项目
10 | 打包和部署
11 | Redux(1) : 前端为何需要状态管理库
12 | Redux(2) : 深入理解Store、Action、Reducer
13 | Redux(3) : 在React中使用Redux
14 | Redux(4) : 理解异步Action、Redux中间件
15 | Redux(5) : 如何组织Action和Reducer
16 | Redux(6) : 理解不可变数据(Immutability)
17 | React Router(1):路由不只是页面切换,更是代码组织方式
18 | React Router(2):参数定义,嵌套路由的使用场景
19 | UI组件库对比和介绍:Ant.Design、Material UI、Semantic UI
20 | 使用Next.js创建React同构应用
21 | 使用Jest、Enzyme等工具进行单元测试
22 | 常用开发调试工具:ESLint、Prettier、React DevTool、Redux DevTool
23 | 前端项目的理想架构:可维护、可扩展、可测试、易开发、易建构
24 | 拆分复杂度(1):按领域模型(feature)组织代码,降低耦合度
25 | 拆分复杂度(2):如何组织component、action和reducer
26 | 拆分复杂度(3):如何组织React Router的路由配置
27 | 使用Rekit(1):创建项目,代码生成和重构
28 | 使用Rekit(2):遵循最佳实践,保持代码一致性
29 | 使用React Router管理登录和授权
30 | 实现表单(1):初始数据,提交和跳转
31 | 实现表单(2):错误处理,动态表单元素,内容动态加载
32 | 列表页(1):搜索,数据缓存和分页
33 | 列表页(2):缓存更新,加载状态,错误处理
34 | 页面数据需要来源多个请求的处理
35 | 内容页的加载与缓存
36 | 基于React Router实现分步操作
37 | 常见页面布局的实现
38 | 使用React Portals实现对话框,使用antd对话框
39 | 集成第三方JS库:以d3.js为例
40 | 基于路由实现菜单导航
41 | React中拖放的实现
42 | 性能永远是第一需求:时刻考虑性能问题
43 | 网络性能优化:自动化按需加载
44 | 使用Reselect避免重复计算
45 | 下一代React:异步渲染
46 | 使用Chrome DevTool进行性能调优&结课测试
当前位置:
首页>>
技术小册>>
深入学习React实战进阶
小册名称:深入学习React实战进阶
### 第九章 使用脚手架工具创建React项目 在React的生态系统中,项目脚手架(Scaffolding Tools)是加速开发流程、确保项目结构一致性和减少配置错误的得力助手。随着React的普及,社区涌现出了多个流行的脚手架工具,其中最广为人知且广泛使用的是Create React App(CRA)。本章将深入介绍如何使用Create React App这一强大的脚手架工具来快速启动并运行一个React项目,同时还会简要提及其他流行的React脚手架工具,以便读者根据项目需求做出合适选择。 #### 9.1 引言 在开发React应用时,从零开始配置Webpack、Babel、ESLint等工具可能会耗费大量时间和精力。Create React App通过提供预配置的开发环境和构建配置,极大地简化了这一过程。它允许开发者专注于编写应用逻辑和UI界面,而无需担心底层构建工具的复杂配置。此外,Create React App还内置了热重载(Hot Reloading)、代码分割(Code Splitting)、懒加载(Lazy Loading)等现代Web开发特性,进一步提升了开发效率和用户体验。 #### 9.2 Create React App简介 Create React App是由Facebook官方维护的一个零配置(Zero-Configuration)的React应用脚手架工具。它基于Webpack、Babel和ESLint等流行工具,提供了一套开箱即用的React开发环境。使用Create React App创建的项目,默认就包含了现代Web开发的最佳实践,如环境变量支持、代码压缩、CSS模块化等。 #### 9.3 安装与创建项目 ##### 9.3.1 安装Node.js和npm 在开始之前,请确保你的开发环境中已安装了Node.js和npm。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,npm则是Node.js的包管理工具。你可以从[Node.js官网](https://nodejs.org/)下载并安装最新版本的Node.js,npm会随Node.js一起被安装。 ##### 9.3.2 安装Create React App 使用npm全局安装Create React App: ```bash npm install -g create-react-app ``` 或者,你也可以使用npx(npm包执行器),它允许你运行项目本地的npm包而无需全局安装: ```bash npx create-react-app my-app ``` 这里,`my-app`是你的项目名称,你可以根据需要替换成任何你喜欢的名字。 ##### 9.3.3 运行项目 安装完成后,进入项目目录: ```bash cd my-app ``` 然后,使用以下命令启动开发服务器: ```bash npm start ``` 或者,如果你使用的是yarn作为包管理器,可以执行: ```bash yarn start ``` 开发服务器启动后,你的React应用将在浏览器中自动打开,通常是在`http://localhost:3000/`地址上。现在,你可以开始编写你的React应用了。 #### 9.4 项目结构解析 Create React App生成的项目结构通常如下所示: - **node_modules/**:存放项目依赖的npm包。 - **public/**:存放静态资源如HTML模板、图片、字体等。其中,`index.html`是应用的HTML模板,`favicon.ico`是网站图标。 - **src/**:存放应用的源代码。 - **App.js**:主组件文件,是React应用的根组件。 - **App.test.js**:与`App.js`对应的测试文件。 - **index.js**:应用的入口文件,负责渲染React组件到DOM中。 - **index.css**:全局样式文件。 - **components/**(可选):用于存放可复用的React组件。 - **services/**(可选):用于存放API请求、数据处理等逻辑的代码。 - **utils/**(可选):存放工具函数、配置等。 - **package.json**:项目的配置文件,包含了项目依赖、脚本等信息。 - **README.md**:项目的说明文档。 #### 9.5 自定义与扩展 虽然Create React App提供了丰富的默认配置,但在某些情况下,你可能需要根据项目需求进行自定义或扩展。Create React App支持通过`eject`命令暴露底层配置,但这通常是不推荐的,因为它会失去“零配置”的便利性,且难以更新Create React App的版本。 更推荐的做法是使用`react-app-rewired`和`customize-cra`等第三方库来覆盖或扩展默认配置,而无需`eject`。这些工具允许你在不改变原始配置的情况下,通过修改或添加自定义配置来实现需求。 #### 9.6 其他React脚手架工具 除了Create React App之外,还有其他一些流行的React脚手架工具,如Next.js、Gatsby、Vite等,它们各自有着不同的特点和适用场景。 - **Next.js**:一个基于React的框架,用于构建服务器端渲染(SSR)或静态网站生成(SSG)的应用。它提供了丰富的功能和优化,适合构建复杂的应用或网站。 - **Gatsby**:一个基于React的静态站点生成器,专注于构建高性能、可扩展的网站和Web应用。它内置了对图像优化、数据获取、代码分割等特性的支持。 - **Vite**:一个现代化的前端构建工具,它利用原生ES模块导入来提供极速的冷启动和热重载。Vite支持React、Vue、Angular等多种前端框架,且配置简单,性能优异。 #### 9.7 小结 通过本章的学习,你应该已经掌握了如何使用Create React App这一强大的脚手架工具来快速启动并运行一个React项目。同时,你也对React项目的基本结构和一些自定义扩展方法有了初步的了解。此外,我们还简要介绍了其他几个流行的React脚手架工具,帮助你根据项目需求做出更合适的选择。记住,选择最适合你项目需求的工具和技术栈,是开发高效、可维护Web应用的关键。
上一篇:
08 | 理解新的Context API及其使用场景
下一篇:
10 | 打包和部署
该分类下的相关小册推荐:
剑指Reactjs
ReactJS面试指南
React 进阶实践指南
React全家桶--前端开发与实例(上)
React全家桶--前端开发与实例(下)