React 图解源码系列教程
1. 项目的目录结构及介绍
react-illustration-series/
├── docs/
│ ├── algorithm/
│ ├── core/
│ ├── event/
│ ├── fiber/
│ ├── hook/
│ ├── reconciler/
│ ├── startup/
│ └── README.md
├── public/
├── snapshots/
├── .editorconfig
├── .gitignore
├── .prettierignore
├── .prettierrc
├── .prettierrc.js
├── LICENSE
├── package-lock.json
├── package.json
├── README.md
└── tsconfig.json
目录结构介绍
- docs/: 存放项目文档,包括算法、核心原理、事件处理、Fiber 架构、Hook 原理、协调器、启动模式等内容的详细解释。
- public/: 存放公共资源文件。
- snapshots/: 存放快照文件,用于测试和版本控制。
- .editorconfig: 编辑器配置文件,用于统一代码风格。
- .gitignore: Git 忽略文件配置。
- .prettierignore: Prettier 忽略文件配置。
- .prettierrc: Prettier 配置文件。
- .prettierrc.js: Prettier 配置文件(JavaScript 格式)。
- LICENSE: 项目许可证文件。
- package-lock.json: 锁定项目依赖版本。
- package.json: 项目配置文件,包含依赖、脚本等信息。
- README.md: 项目说明文件。
- tsconfig.json: TypeScript 配置文件。
2. 项目的启动文件介绍
项目的启动文件主要集中在 package.json
中定义的脚本命令。以下是一些常用的启动命令:
{
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
}
启动命令介绍
- start: 启动开发服务器,用于本地开发和调试。
- build: 构建生产环境代码,生成优化后的静态文件。
- test: 运行测试脚本,执行单元测试和集成测试。
- eject: 弹出配置,将所有内置配置暴露出来,允许用户自定义配置。
3. 项目的配置文件介绍
3.1 package.json
package.json
是项目的核心配置文件,包含了项目的元数据、依赖、脚本等信息。
{
"name": "react-illustration-series",
"version": "1.0.0",
"description": "图解 React 源码",
"main": "index.js",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"typescript": "^4.2.4"
}
}
3.2 tsconfig.json
tsconfig.json
是 TypeScript 的配置文件,用于配置 TypeScript 编译选项。
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}
3.3 .prettierrc
.prettierrc
是 Prettier 的配置文件,用于统一代码格式。
{
"singleQuote": true,
"trailingComma": "all",
"printWidth": 80,
"tabWidth": 2
}
3.4 .editorconfig
.editorconfig
是编辑器配置文件,用于统一不同编辑器之间的代码风格。
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
通过以上配置文件,可以确保项目在不同开发环境下的代码风格一致,并且能够顺利启动和构建。