## pages目录规则
说明:`pages`目录存放各个模块,该目录下的`index.js`已集成各个模块的api、router和vuex,只需要在文件开头的ModularList数组添加模块名即可
`pages/index.js`
```
export const ModularList = [
// 公共
'Common',
// 用户
'User',
// 工具包
'Toolkit'
]
// vuex集成
let _store = {}
// router集成
let _router = {}
// api集成
let _api = {}
```
## 模块目录结构
````
├─ index.js // 模块集成
├─ ModularA // 模块A目录
│ ├─ api ─ index.js // 该模块的api接口配置
│ ├─ page // 该模块的页面目录
│ │ ├─ PageA // 模块A下的页面A
│ │ │ ├─ components // 该页面的组件目录
│ │ │ ├─ PageE.vue // 定义的页面(需在该模块下的页面路由配置)
│ │ │ └─ PageA.vue // 定义的页面
│ │ └─ PageB // 模块A下的页面B
│ │ ├─ components // 该页面的组件目录
│ │ └─ PageB.vue // 定义的页面
│ ├─ router ─ index.js // 模块下的页面路由配置
│ └─ store // 该模块的vuex配置
│ │ ├─ state.js // state状态
│ │ ├─ getters.js // state派生状态
│ │ ├─ actions.js // action方法
│ │ ├─ mutations.js // mutation方法
│ │ └─ index.js // state & getters & action & mutation集合
└─ ModularB // 模块B目录
├─ api ─ index.js // 该模块的api接口配置
├─ page // 该模块的页面目录
├─ router ─ index.js // 模块下的页面路由配置
└─ store // 该模块的vuex配置
````
## 分包(小程序)
>如果没有特殊情况,一般除了tabBar页面与首页,其余都进行分包处理。
### preloadRule
- 注:一次加载分包不可超过2MB
### 模块与分包subPackages
> 结合pages模块的结构进行分包