微信小程序使用app.json文件进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多tab等。
以下是一个包含所有配置选项的简单的app.json文件。
{ "pages":[ "pages/index/index", "pages/list/list", "pages/item/item", "pages/search/search", "pages/profile/profile" ], "window":{ "navigationBarBackgroundColor":"#35495e", "navigationBarTextStyle":"white", "navigationBarTitleText":"电影", "backgroundColor":"#000000", "backgroundTextStyle":"light", "enablePullDownRefresh":false }, "tabBar":{ "color":"#999999", "selectedColor":"#35495e", "backgroundColor":"#f5f5f5", "borderStyle":"white", "list":[ { "text":"首页", "pagePath":"pages/index/index", "iconPath":"images/index.png", "selectedIconPath":"images/index-actived.png" }, { "text":"搜索", "pagePath":"pages/search/search", "iconPath":"images/search.png", "selectedIconPath":"images/search-actived.png" }, { "text":"我的", "pagePath":"pages/profile/profile", "iconPath":"images/profile.png", "selectedIconPath":"images/profile-actived.png" } ], "position":"bottom" }, "networkTimeout":{ "request":10000, "connectSocket":10000, "uploadFile":10000, "downloadFile":10000 }, "debug":true}
上述配置项的配置说明如表21-3所示。
表21-3 小程序配置选项属性说明
pages配置项用于接收一个数组,每一项都是字符串,以指定小程序由哪些页面组成。每一项代表对应页面的“路径+文件名”信息,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对pages数组进行修改。文件名不需要写扩展名,因为框架会自动寻找路径中的.json、js、.wxml、.wxss文件进行整合。
window配置项用于设置小程序的状态栏、导航栏、标题、窗口背景色。可设置的属性说明如表21-4所示。
表21-4 window属性说明
如果开发的小程序是一个多tab应用(客户端窗口的底部有tab栏可以切换页面),那么可以通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面。tabBar是一个数组,只能配置最少2个、最多5个tab,tab按数组的顺序排序。tabBar的属性说明如表21-5所示。
表21-5 tabBar属性说明
networkTimeout配置项可以设置各种网络请求的超时时间,说明如表21-6所示。
表21-6 networkTimeout属性说明
debug配置项可以在开发者工具中开启debug模式,在开发者工具的控制台面板,调试信息以info的形式给出,其信息有Page的注册、页面路由、数据更新、事件触发等。它用于帮助开发者快速定位一些常见的问题。