JSON 是一种数据格式,并不是编程语言,在小程序中,JSON扮演的静态配置的角色
配置项细节可参考文档 app.json配置
全局配置
app.json 是当前小程序的全局配置,包含小程序的所有页面路径、界面表现、网络超时时间、底部tab等
pages
指定小程序由那些页面组成
文件名不需要写文件后缀,框架会自动去寻找对应位置的.js, .json, .wxml, .wxss 四个文件进行处理
在未设置 entryPagePath 时,默认加载数组第一项的页面路径为首页
PS:小程序中新增/减少页面时,都需要对pages数组进行修改
如开发目录为
├── app.js
├── app.json
├── app.wxss
├── pages
│ │── index
│ │ ├── index.wxml
│ │ ├── index.js
│ │ ├── index.json
│ │ └── index.wxss
│ └── logs
│ ├── index.wxml
│ ├── index.js
│ ├── index.json
│ └── index.wxss
则需要在app.json中写
{
"pages": [
"pages/index/index",
"pages/logs/logs"
]
}
window
定义小程序所有页面的顶部背景颜色、文字颜色定义等
以下列了一些常用的属性,完整配置项请参考小程序window配置
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如 #000000 |
navigationBarTextStyle | string | white | 导航栏标题颜色,仅支持 black / white |
navigationBarTitleText | string | ||
导航栏标题文字内容 | |||
navigationStyle | string | default | 导航栏样式,仅支持以下值: |
default 默认样式 | |||
custom 自定义导航栏,只保留右上角胶囊按钮 | |||
backgroundColor | HexColor | #ffffff | 窗口的背景色 |
tabBar
可以通过 tabBar 设置一个多tab栏应用小程序
PS:tab栏最少两个,最多五个
属性 | 类型 | 是否必填 | 默认值 | 描述 |
---|---|---|---|---|
color | HexColor | ✔️ | ||
tab 上的文字默认颜色,仅支持十六进制颜色 | ||||
selectedColor | HexColor | ✔️ | ||
tab 上的文字选中时的颜色,仅支持十六进制颜色 | ||||
backgroundColor | HexColor | ✔️ | ||
tab 的背景色,仅支持十六进制颜色 | ||||
borderStyle | string | ❌ | black | tabbar 上边框的颜色, 仅支持 black / white |
list | Array | ✔️ | ||
tab 的列表,详见 list 属性说明,最少 2 个、最多 5 个 tab | ||||
position | string | ❌ | bottom | tabBar 的位置,仅支持 bottom / top |
custom | boolean | ❌ | false | 自定义 tabBar |
更多完整版 tabBar 配置请参考小程序 tabBar 配置
networkTimeout 各类网络请求的超时时间
subpackages 启用分包加载
页面配置
每一个小程序页面也可以使用同名,.json 文件来对页面的窗口表现进行配置,页面中配置项会覆盖app.json 的 window 中相同的配置项
更多完整版页面配置请参考小程序页面配置
语法注意
1)JSON 文件内容都是包裹在 {} 中,并以 key: value 的形式展示。需注意 key 一定要上双引号,没加引号或加单引号都会报错
2)JSON 的值仅支持以下数据类型,其它格式都会报错
数字,包含浮点数和整数
字符串,需要包裹在双引号中
Boolean值,ture / false
数组,需要包裹在 [] 中
对象,需要包裹中 {} 中
Null
3)JSON文件中无法使用注释