微信小程序使用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的註冊、頁面路由、數據更新、事件觸發等。它用於幫助開發者快速定位一些常見的問題。