微信小程序根目录下有一个app.json文件,其用于对微信小程序进行全局配置
进而决定

  • 页面文件的路径
  • 窗口表现
  • 网络超时时间
  • 底部tab栏的表现等

app.json中的配置项并非都必须被设置。表2.1列出了

app.json常用的配置项

image.png

包含了部分常用配置项的app.json

  1. {
  2. "pages" : ["pages/index/index","pages/logs/logs"],
  3. "windows": {
  4. "navigationBarTitleText":"Demo"
  5. }
  6. "tabBar":{
  7. "list":[
  8. {
  9. "pagePath":"pages/index/index",
  10. "text":"首页"
  11. },
  12. {
  13. "pagePath":"pages/logs/logs",
  14. "text":"日志"
  15. }
  16. ]
  17. },
  18. "networkTimeout":{
  19. "request":10000,
  20. "downloadFile":10000
  21. },
  22. "debug":true,
  23. "navigateToMiniProgramAppidList":["wxe5f52902cf4de896"]
  24. }

1.pages配置项

在示例2-1中,pages用于指定微信小程序由哪些页面组成,其值是一个数组,数组中每一项都是一个页面的路径信息

填写pages配置项时,需要遵循以下3个原则

  1. 数组的第一项代表微信小程序的初始页面(首页)
  2. 微信小程序中新增/减少页面时,需要对pages数组进行修改
  3. 不需要写文件后缀,框架会自动寻找对应位置的.json、.js、.wxml、.wxss文件

如果在pages中添加一个配置项“pages/home/home”,就会看到开发者工具自动在pages目录下创建了home目录,并且目录下有home.wxml、home.wxss、home.js、home.json 4个文件

2.window配置项

Window配置项用于确定微信小程序的状态栏、导航条、标题、窗口背景色等
在未进行配置时,会使用系统的默认配置
表2.2列出了window配置项的常用配置
image.png

  1. {
  2. "window":{
  3. "navigationBarBackgroundcolor":"#ffffff",
  4. "navigationBarTextStyle":"back",
  5. "navigationBarTitleText":"miniprogramedeveloper",
  6. "backgroundColor":"#eeeeee",
  7. "backgroundTextStyle":"dark"
  8. }
  9. }

我们设置了导航栏背景色为白色,导航栏标题为“miniprogramedeveloper”,字体颜色为黑色,窗口背景色为“#eeeeee”,下拉loading的颜色为“dark”,也就是深灰色。

3.tabBar配置项

tabBar配置项用来设置底部tab栏的表现以及tab切换时显示的页面。常见的tabBar配置项如表2.3所示

配置项 类型 必填 默认值 描述
color HexColor tab上的文字默认颜色,仅支持十六制颜色
selectedColor HexColor tab上的文字选中时的颜色,仅支持十六进制颜色
backgroundColor HexColor tab的背景色,仅支持十六进制颜色
borderStyle String black tabbar上边框的颜色,仅支持black/white
list Array tab的列表,详见list属性说明,最少2个tab,最多5个tab
position String bottom tabBar的位置,仅支持bottom/top

其中,list是一个数组,用于配置标签页,标签页按数组顺序排序,数组中的每项都是一个对象

list对象的配置如表2.4所示

对象 类型 必填 描述
pagePath String 页面路径,必须在pages中先定义
text HexColor tab上按钮的文字
iconPath HexColor
- 图片路径,icon的大小限制为40KB,建议尺寸为81px * 81px,不支持网络图片
- 当postion为top时,不显示icon
selecterIconPath String
- 选中的图片路径,icon的大小限制为40KB,建议尺寸为81px * 81px,不支持网络图片
- 当position为top时,不显示icon

tabBar配置见示例2-3

  1. {
  2. "tabBar":{
  3. "color":"#dadada",
  4. "selecterColor":"#09bb07",
  5. "backgroundColor":"#fff",
  6. "borderStyle":"black",
  7. "list":[
  8. {
  9. "pagePath":"pages/index/index",
  10. "text":"首页",
  11. "iconPath":"images/icon_1_n.png",
  12. "selectedIconPath":"images/icon_1_a.png"
  13. },{
  14. "pagePath":"pages/index/index",
  15. "text":"日志",
  16. "iconPath":"images/icon_2_n.png",
  17. "selectedIconPath":"images/icon_2_a.png"
  18. }
  19. ]
  20. }
  21. }
  • 配置tabBar文字颜色为“#dadada”
  • 选中tab的颜色为“#09bb07”
  • tabBar背景色为“#fff”(纯白色)
  • 上边框颜色为“black”(黑色)
  • 然后设置了两个tab页,每个tab页中分别设置tab页的路径、显示的文字和对应的图标路径
  • 图标路径有两个,微信小程序会根据选中的状态加载对应的图标

4.networkTimeout配置项

networkTimeout配置项用于设置网络请求超时时间,单位为ms
在示例2-1中,设置了请求超时时间10000ms,也就是10s,文件下载超时时间也是10s
如果不设置网络请求超时间,则会使用操作系统内核或者WebServer的设定值
networkTimeout配置项如表2.5所示

配置项 类型 必填 默认值 描述
request Number 60000 wx.request的超时时间,单位:ms
connectSocket Number 60000 wx.connectSocket的超时时间,单位:ms
uploadFile Number 60000 wx.uploadFile的超时时间,单位:ms
downloadFile Number 60000 wx.downloadFile的超时时间,单位:ms

5.debug配置项

在app.json中设置debug为true,则开启了调试模式
在开发者工具的控制台面板,调试信息以info的形式给出,其信息有

  • Page的注册
  • 页面路由
  • 数据更新
  • 事件触发等

可以帮助开发者快速定位一些常见的问题
图2.1是开启调试模式后控制台的输出
image.png

6.navigateToMiniProgramAppidList配置项

微信小程序从基础库2.4.0开始支持某个微信小程序跳转到其他微信小程序
如果要做微信小程序跳转
需要在navigateToMiniProgramAppidList中配置需要跳转的微信小程序AppID
最多允许填写10个

  1. {
  2. "navigateToMiniProgramAppidList":["wxe5sd54f5sdfsdf","wxe565656556656"]
  3. }