## 项目文件结构
```javascript
.
├── build/                          // 默认的 build 输出目录
├── public/                         // 静态资源 webpack 不处理
├── src/                            // 源码目录
    ├── assets/                     // 静态资源
        ├── css/                    // 公共 css
        ├── img/                    // 公共图片
    ├── components/                 // 业务通用组件
    ├── layouts/                    // 全局布局
    ├── models/                     // 全局 redux model
    ├── pages/                      // 业务页面
    ├── routes/                     // 路由管理
    ├── utils/                      // 工具库
    ├── index.js                    // 项目入口文件
    ├── serviceWorker.js            // PWA 配置文件
├── .env                            // 环境变量
├── .eslintignore                   // 忽略 eslint 校验配置文件
├── .eslintrc.js                    // eslint 配置文件
├── .gitignore                      // 忽略 git 提交配置文件
├── .prettierignore                 // 忽略 prettier 格式化配置文件
├── .prettierrc.js                  // prettier 格式化配置文件
├── package.json                    
└── README.md
```

### 特别注意
routes文件是整个项目路由相关文件

```javascript
{
    component: BasicLayout,
    routes: [
        {
            path: '/dashboard',
            key: 'dashboard',
            name: '首页',
            exact: true,
            component: Dashboard,   // component代表渲染的组件 没有routes代表没有子路由是一级菜单
        },
        {
            path: '/user',
            key: 'user',
            name: '个人中心',
            component: User,        // component代表渲染的父组件 有routes代表二级菜单 访问/user 默认匹配<User />
            routes: [
                {
                path: '/user/list',
                key: 'list',
                name: '列表',
                routes: [           // 当前子路由没有component 有routes代表三级菜单 访问/user/list 匹配<404 />
                    {
                        path: '/user/list/child',
                        key: 'child',
                        name: '子列表',
                        exact: true,
                        component: UserList,
                    },
                ],
                },
            ],
        },
    ]
}
```

