MobX-React Boilerplate 项目教程
mobx-react-boilerplateSmall project to quickly start with React, MobX, JSX, ES6, Babel项目地址:https://gitcode.com/gh_mirrors/mo/mobx-react-boilerplate
1. 项目的目录结构及介绍
mobx-react-boilerplate/
├── public/
│ ├── index.html
│ └── favicon.ico
├── src/
│ ├── components/
│ │ ├── App.js
│ │ └── ...
│ ├── stores/
│ │ ├── TodoStore.js
│ │ └── ...
│ ├── index.js
│ ├── App.css
│ ├── index.css
│ └── ...
├── .gitignore
├── LICENSE
├── README.md
├── package.json
├── yarn.lock
└── tsconfig.json
目录结构介绍
- public/: 包含公开的静态文件,如
index.html
和 favicon.ico
。 - src/: 包含项目的源代码,包括组件、状态存储、样式文件等。
- components/: 存放React组件。
- stores/: 存放MobX状态存储。
- index.js: 项目的入口文件。
- App.css: 主应用的样式文件。
- index.css: 全局样式文件。
- .gitignore: 指定Git忽略的文件和目录。
- LICENSE: 项目的许可证。
- README.md: 项目的说明文档。
- package.json: 项目的依赖和脚本配置。
- yarn.lock: 锁定依赖版本。
- tsconfig.json: TypeScript配置文件。
2. 项目的启动文件介绍
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'mobx-react';
import App from './components/App';
import stores from './stores';
ReactDOM.render(
<Provider {...stores}>
<App />
</Provider>,
document.getElementById('root')
);
文件介绍
- import React from 'react': 引入React库。
- import ReactDOM from 'react-dom': 引入ReactDOM库,用于渲染React组件。
- import { Provider } from 'mobx-react': 引入MobX的Provider组件,用于将状态存储注入到React组件树中。
- import App from './components/App': 引入主应用组件。
- import stores from './stores': 引入状态存储。
- ReactDOM.render(...): 渲染主应用组件到DOM中的
root
元素。
3. 项目的配置文件介绍
package.json
{
"name": "mobx-react-boilerplate",
"version": "1.0.0",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"dependencies": {
"mobx": "^6.0.0",
"mobx-react": "^7.0.0",
"react": "^17.0.0",
"react-dom": "^17.0.0",
"react-scripts": "4.0.0"
},
"devDependencies": {
"typescript": "^4.0.0"
}
}
配置文件介绍
- name: 项目名称。
- version: 项目版本。
- scripts: 定义项目的脚本命令,如启动、构建、测试等。
- dependencies: 项目的运行时依赖。
- devDependencies: 项目的开发依赖。
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "es2015"],
"jsx": "react",
"module": "commonjs",
"moduleResolution": "node",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src"]
}
配置文件介绍
- compilerOptions: TypeScript编译器选项。
mobx-react-boilerplateSmall project to quickly start with React, MobX, JSX, ES6, Babel项目地址:https://gitcode.com/gh_mirrors/mo/mobx-react-boilerplate