![微信小程序开发与运营](https://wfqqreader-1252317822.image.myqcloud.com/cover/975/32854975/b_32854975.jpg)
2.4 配置文件
小程序的配置文件按其作用范围可以分为全局配置文件(app. json)和页面配置文件(∗. json)。全局配置文件作用于整个小程序,页面配置文件只作用于当前页面。由于页面配置文件的优先级高于全局配置文件的优先级,因此,当全局配置文件与页面配置文件有相同配置项时,页面配置文件会覆盖全局配置文件中的相同配置项内容。
2.4.1 全局配置文件
小程序的全局配置保存在全局配置文件(app. json)中,使用全局配置文件来配置页面文件(pages)的路径、设置窗口(window)表现、设定网络请求API的超时时间值(networkTimeout)以及配置多个切换页(tabBar)等。表2-2列出了各全局配置项的相关描述。
表2-2 全局配置项
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0041_0001.jpg?sign=1739303139-l5w1USE4biob4ptLu95BCzeNa1K7GF1Z-0-d144f1461aeedd25dd6f71ebe28f2c6a)
全局配置文件内容的整体结构如下:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0041_0002.jpg?sign=1739303139-obFUV6Hv3nlq4mJgcxJ0B78RIorhmHd0-0-f6cf308b5c6b8a8296c62fc3619861e7)
1. pages配置项
pages配置项接受一个数组,用来指定小程序由哪些页面组成,数组的每一项都是字符串,代表对应页面的“路径”+“文件名”。pages配置项是必填项。
设置pages配置项时,应注意以下3点:
(1)数组的第一项用于设定小程序的初始页面。
(2)在小程序中新增或减少页面时,都需要对数组进行修改。
(3)文件名不需要写文件扩展名。小程序框架会自动寻找路径及对.js、. json、. wxml和.wxss文件进行整合数据绑定。
例如,app. json文件的配置如下:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0041_0003.jpg?sign=1739303139-qJoea7f0uX8KO3KYT88LzqzUIrphBSBh-0-bbec09228717a3f677abc3ebea568cef)
2. window配置项
window配置项负责设置小程序状态栏、导航条、标题、窗口背景色等系统样式。window配置项可以配置的对象参考表2-3。
表2-3 window配置项及其描述
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0002.jpg?sign=1739303139-9lom5wtExTyWr6MoDFw8IJEc4FN9JYkB-0-9bcb66a6735565aa3c304e4957f7cc26)
在app. json中设置如下window配置项:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0003.jpg?sign=1739303139-9PKfYQ3PUAK3kg3kLt64xcxLCitZMvqE-0-b1cb0f1b028410ebbe65844e38f86743)
3. tabBar配置项
当需要在程序顶部或底部设置菜单栏时,可以通过配置tabBar配置项来实现。tabBar配置项可以配置的属性如表2-4所示。
表2-4 tabBar配置项及其描述
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0004.jpg?sign=1739303139-rzb1PlAoNa4TJM6eS6CKaEPUubA0oIWt-0-23946f2e87cc4da95aa367650499c038)
其中,list(列表)接受数组值,数组中的每一项也都是一个对象。对象的数据值说明如表2-5所示。
表2-5 tabBar中list选项
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0043_0001.jpg?sign=1739303139-M7wDxDNe4bDgS1UKAd4PlxDdcLPZGbGJ-0-5ec6d025f00a8e53618b18ccdbd0e8c2)
在app. json文件中设置如下tabBar配置:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0043_0002.jpg?sign=1739303139-AHgZURTcehv0EblHBZaACg6tK7SQrBl2-0-d45fdbef4c77f0c4ebec67505fa4e3de)
配置后的页面效果如图2-9所示。
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0044_0001.jpg?sign=1739303139-MI5TeA8ajlO6d4tTHHGX2AsgSQTahbLv-0-fcc05d5d48ef57922076323a45fcf5dc)
图2-9 tabBar标签页
4. networkTimeout配置项
小程序中各种网络请求API的超时时间值只能通过networkTimeout配置项进行统一设置,不能在API中单独设置。networkTimeout可以配置的属性如表2-6所示。
表2-6 networkTimeout配置项
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0044_0002.jpg?sign=1739303139-Q7h8IMIEZTDWjcJfIQO8gysd1xcNoFB5-0-148b55f163f84bd8937f1bfe21630954)
例如,为提高网络响应效率,开发者可以在app. json中使用下列超时设置:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0044_0003.jpg?sign=1739303139-GIgehXUaF8utexcGdzNrUCCEzZFEHA1H-0-d421555eaaf7ee45b2db47870a72723f)
5. debug配置项
debug配置项用于开启开发者工具的调试模式,默认为false。开启后,页面的注册、路由、数据更新、事件触发等调试信息将以info的形式输出到Console(控制台)面板上。
2.4.2 页面配置文件
页面配置文件(∗. json)只能设置本页面的窗口表现,而且只能设置window配置项的内容。在配置页面配置文件后,页面中的window配置值将覆盖全局配置文件(app. json)中的配置值。
页面中的window配置只需书写配置项,不必书写window,代码示例如下:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0045_0001.jpg?sign=1739303139-5qcngiqijJzJHzLZYZROf4pDYV0OieeW-0-4cf1733afe09a8b57f10884a0682b48e)