antd-pro-mobx 项目教程
antd-pro-mobxThe https://pro.ant.design of mobx version项目地址:https://gitcode.com/gh_mirrors/an/antd-pro-mobx
1. 项目的目录结构及介绍
antd-pro-mobx/
├── config/
│ ├── config.js
│ └── router.config.js
├── mock/
│ └── index.js
├── public/
│ └── index.html
├── src/
│ ├── assets/
│ ├── components/
│ ├── e2e/
│ ├── layouts/
│ ├── models/
│ ├── pages/
│ ├── services/
│ ├── utils/
│ ├── app.js
│ ├── global.less
│ └── index.js
├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── .prettierrc
├── package.json
├── README.md
└── yarn.lock
目录结构介绍
- config/: 存放项目的配置文件,如路由配置和全局配置。
- mock/: 存放模拟数据文件,用于开发时的数据模拟。
- public/: 存放公共资源文件,如
index.html
。 - src/: 源代码目录,包含所有前端代码。
- assets/: 存放静态资源,如图片、字体等。
- components/: 存放可复用的组件。
- e2e/: 存放端到端测试文件。
- layouts/: 存放页面布局组件。
- models/: 存放全局状态管理文件。
- pages/: 存放页面组件。
- services/: 存放与后端交互的服务文件。
- utils/: 存放工具函数。
- app.js: 应用入口文件。
- global.less: 全局样式文件。
- index.js: 项目入口文件。
- .editorconfig: 编辑器配置文件。
- .eslintrc.js: ESLint 配置文件。
- .gitignore: Git 忽略文件配置。
- .prettierrc: Prettier 格式化配置文件。
- package.json: 项目依赖和脚本配置文件。
- README.md: 项目说明文档。
- yarn.lock: Yarn 依赖锁定文件。
2. 项目的启动文件介绍
入口文件 src/index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'mobx-react';
import { LocaleProvider } from 'antd';
import zhCN from 'antd/lib/locale-provider/zh_CN';
import App from './app';
import store from './store';
ReactDOM.render(
<Provider {...store}>
<LocaleProvider locale={zhCN}>
<App />
</LocaleProvider>
</Provider>,
document.getElementById('root')
);
应用入口文件 src/app.js
import React from 'react';
import { Router, Route, Switch } from 'dva/router';
import dynamic from 'dva/dynamic';
import { routerRedux } from 'dva/router';
import { ConfigProvider } from 'antd';
import zhCN from 'antd/lib/locale-provider/zh_CN';
import { getRouterData } from './common/router';
import Authorized from './utils/Authorized';
import styles from './index.less';
const { ConnectedRouter } = routerRedux;
const { AuthorizedRoute } = Authorized;
function RouterConfig({ history, app }) {
const routerData = getRouterData(app);
const UserLayout = routerData['/user'].component;
const BasicLayout = routerData['/'].component;
return (
<ConfigProvider locale={zhCN}>
<ConnectedRouter history={history}>
<Switch>
<Route path="/user" component={UserLayout} />
<AuthorizedRoute
path="/"
render={props => <BasicLayout {...props} />}
authority={['admin', 'user']}
redirectPath="/user/login"
/>
</Switch>
</ConnectedRouter>
</ConfigProvider>
);
}
export default RouterConfig;
3. 项目的配置文件介绍
全局配置文件
antd-pro-mobxThe https://pro.ant.design of mobx version项目地址:https://gitcode.com/gh_mirrors/an/antd-pro-mobx