React CRM 项目教程
1. 项目的目录结构及介绍
React CRM 项目的目录结构如下:
react-crm/
├── public/
│ ├── index.html
│ └── ...
├── src/
│ ├── assets/
│ ├── components/
│ ├── containers/
│ ├── routes/
│ ├── store/
│ ├── styles/
│ ├── App.js
│ ├── index.js
│ └── ...
├── .gitignore
├── package.json
├── README.md
└── ...
目录结构介绍
- public/: 包含公开的静态文件,如
index.html
。 - src/: 包含项目的源代码,包括组件、容器、路由、状态管理、样式等。
- assets/: 存放静态资源,如图片、字体等。
- components/: 存放可复用的 React 组件。
- containers/: 存放页面级别的容器组件。
- routes/: 定义应用的路由配置。
- store/: 包含 Redux 状态管理的文件。
- styles/: 存放全局样式文件。
- App.js: 应用的主组件。
- index.js: 应用的入口文件。
- .gitignore: 指定 Git 忽略的文件和目录。
- package.json: 项目的依赖和脚本配置。
- README.md: 项目的说明文档。
2. 项目的启动文件介绍
项目的启动文件主要是 src/index.js
,其主要功能是渲染应用的主组件到 DOM 中。
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: https://bit.ly/CRA-PWA
serviceWorker.unregister();
启动文件介绍
- ReactDOM.render(): 将
App
组件渲染到index.html
中的root
元素。 - serviceWorker: 用于 PWA(渐进式 Web 应用)的配置,默认是未注册状态。
3. 项目的配置文件介绍
项目的配置文件主要是 package.json
,它包含了项目的依赖、脚本和其他配置信息。
{
"name": "react-crm",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"web-vitals": "^1.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
配置文件介绍
- dependencies: 列出了项目所需的所有依赖包。
- scripts: 定义了常用的脚本命令,如
start
、build
、test
和eject
。 - **eslintConfig