动态生成pages.json文件
动态生成pages.json文件
小程序项目对pages.json文件拆分、动态生成pages.json文件,最终得到如下目录结构:
common/router/modules/*: 依据模块划分不同页面配置js文件
common/router/index.js: 对应pages.js中除了页面pages配置的参数外,其他在pages.js文件中配置的参数都放这里面
common/router/build.js:核心文件,主要是读取modules/目录下的文件以及router/index.js文件然后动态生成pages.json文件
依据模块划分不同页面配置js文件
这里创建user.js、process.js文件为例说明
user.js
baseUrl:页面文件存放的实际位置目录
children:相当于是在pages.json文件中对pages参数项进行相关页面配置
module.exports = {
baseUrl: 'pages/user/',
children: [
{
path: 'me',
text: '个人中心',
},
{
path: 'Logout',
text: '退出',
}
]
}
process.js
module.exports = {
baseUrl: 'pages/process/',
children: [
{
path: 'core/ProcessList',
name: 'ProcessList',
text: '流程列表',
}
]
}
index.js(配置pages.json)
index.js文件对应pages.js中除了页面pages配置的参数外,其他在pages.js文件中配置的参数都放这里面
module.exports = {
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color": "#7A7E83",
"selectedColor": "#3cc51f",
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/index/index",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "首页"
},
{
"pagePath": "pages/index/todo",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "待办"
},
{
"pagePath": "pages/index/message",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "消息"
},
{
"pagePath": "pages/user/me",
"iconPath": "static/logo.png",
"selectedIconPath": "static/logo.png",
"text": "个人中心"
}
]
}