全局配置
在项目根目录中使用 app.json 对应用进行全局配置。
配置项
属性 | 类型 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|
entryPagePath | String | 否 | 默认启动页,不填默认为 pages 列表第一项 |
|
pages | Array | 否 | 全局的窗口表现 | |
window | Object | 否 | 默认页面的窗口表现 | |
tabBar | Object | 否 | tab 栏表现 | |
networkTimeout | Object | 否 | 网络超时时间 | |
debug | Boolean | 否 | 是否开启 debug 模式,默认 false 关闭 | |
subpackages | Object[] | 否 | 分包结构配置 | |
usingComponents | Object | 否 | 全局自定义组件(页面和自定义组件中可以直接使用,无需再声明) | |
darkmode | Boolean | 否 | 应用是否适配了深色模式,默认false , 更多参考 DarkMode 适配说明 | |
themeLocation | String | 否 | 指明 theme.json 的位置,darkmode为true为必填 , 更多参考 DarkMode 适配说明 |
pages
用于指定项目由哪些页面组成,数组中每一项都是字符串,用于指定页面,新增或删除页面,都需要对 pages 数组进行修改。
示例配置:
├── app.js
├── app.json
├── app.mcss
├── pages
│ │── index
│ │ ├── index.mcml
│ │ ├── index.js
│ │ ├── index.json
│ │ └── index.mcss
在 app.json 中写
{
"pages": [
"pages/index/index"
]
}
window
用于设置应用全局的状态栏、标题、窗口表现等。
属性 | 类型 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|
navigationBarBackgroundColor | Color(十六进制颜色值) | #000000 | 导航栏背景颜色,如 #000000 | |
navigationBarTextStyle | String | white | 导航栏标题颜色,目前仅支持 black / white | |
navigationBarTitleText | String | 导航栏标题文字内容,字数不宜过多 | ||
navigationStyle | String | default | 导航栏样式,仅支持以下值:1. default(默认样式), 2. custom(自定义导航栏) | |
backgroundColor | Color | #ffffff | 窗口的背景色 | |
backgroundTextStyle | String | dark | 下拉 loading 的样式,仅支持 dark / light | |
backgroundColorTop | String | #ffffff | 顶部窗口的背景色,仅 iOS 支持 | |
backgroundColorBottom | String | #ffffff | 底部窗口的背景色,仅 iOS 支持 | |
enablePullDownRefresh | Boolean | false | 是否开启当前页面下拉刷新 | |
disableBounce | Boolean | false | 是否禁止页面滚动弹性动画,仅 iOS 支持(enablePullDownRefresh 为true时无效) | |
onReachBottomDistance | Boolean | false | 页面上拉触底事件触发时距页面底部距离,单位为 px。 | |
pageOrientation | String | portrait | 屏幕旋转设置,支持 auto / portrait / landscape / landscapeLeft / landscapeRight / portraitUpsideDown |
示例配置:
{
"window": {
"navigationBarTitleText": "MoreCross",
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}
}
tabBar
用配置应用底部或者顶部的 tab 导航栏的样式以及打开的页面等。
属性 | 类型 | 必填 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|---|
Color | Color | 是 | tab 上的文字默认颜色 | ||
selectedColor | Color | 是 | tab 上的文字选中时的颜色 | ||
backgroundColor | Color | 是 | tab 的背景色 | ||
borderStyle | String | 否 | black | tabbar上边框的颜色, 仅支持 black、white | |
list | Array | 是 | tab 的列表,详见list 属性说明,支持2-5个tab选项 |
||
position | String | 否 | bottom | tabBar的位置,仅支持两个值: bottom、top |
其中 list 是数组类型,只能配置最少2个、最多5个 tab。tab 按数组的顺序排序,每个项都是一个独立的对象,其可配置值如下:
属性 | 类型 | 必填 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|---|
pagePath | String | 是 | 页面路径,必须在 pages 数组中先定义 | ||
text | String | 是 | tab 上按钮文字 | ||
iconPath | String | 否 | 图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,不支持网络图片。当 postion 为 top 时,不显示 icon。 | ||
selectedIconPath | String | 否 | 选中时的图片路径,要求同 iconPath |
networkTimeout
属性 | 类型 | 必填 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|---|
request | Number | 否 | 60000 | mc.request 的超时时间,单位:毫秒。 | |
uploadFile | Number | 否 | 60000 | mc.uploadFile 的超时时间,单位:毫秒。 | |
downloadFile | Number | 否 | 60000 | mc.downloadFile 的超时时间,单位:毫秒。 |
debug
开启 debug 模式后,将在调试日志面板输入应用启动,js注册,事件触发等信息,可以帮助开发者快速定位问题。
subpackages
为提高应用加载性能,在编译代码包时可以对项目代码分包编译,应用会根据开发者的配置编译成一个主包和若干个分包,在启动应用后,会动态加载对应分包代码。
示例配置 代码目录如下:
├── app.js
├── app.json
├── app.mcss
├── pages
│ │── index
│ │ ├── index.mcml
│ │ ├── index.js
│ │ ├── index.json
│ │ └── index.mcss
│ └── logs
│ ├── logs.mcml
│ └── logs.js
└── utils
配置如下:
{
"pages":[
"pages/main",
"pages/login"
],
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/page1",
"pages/page2"
]
},
{
"root": "packageB",
"name": "pack2",
"pages": [
page3
page4
]
}
]
}