![微信小程序开发与运营](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=1738952712-HSJj7E4SUIms1VaStLVv19pqYgKq0EjK-0-0de2d2a465787c8af396e6700c6a041f)
全局配置文件内容的整体结构如下:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0041_0002.jpg?sign=1738952712-vHg1X5AnyXn6WaHXxZsES5io0shnBxqY-0-675c1dc2fe195ce0be2a25e8b4dadf1e)
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=1738952712-9uyeH1U1k7xtydPamRLFXhbBnnKaP42r-0-8e6a4c5ebd893d45c1b025b62d178311)
2. window配置项
window配置项负责设置小程序状态栏、导航条、标题、窗口背景色等系统样式。window配置项可以配置的对象参考表2-3。
表2-3 window配置项及其描述
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0002.jpg?sign=1738952712-KAiCRUK7OmiyP1rGcogah0rhYFBfsWJr-0-612b22f9d3c23d9b0a8f02e602d7d61f)
在app. json中设置如下window配置项:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0003.jpg?sign=1738952712-jds2tavKTlVRXAbN1gQUczvTc7dJMIeI-0-73f08032fafde2654fd16f897d503bba)
3. tabBar配置项
当需要在程序顶部或底部设置菜单栏时,可以通过配置tabBar配置项来实现。tabBar配置项可以配置的属性如表2-4所示。
表2-4 tabBar配置项及其描述
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0004.jpg?sign=1738952712-F4N3qcGbcNAfBL7OMKdtUbBzim8hX8c8-0-61ebecd00cb3ce28eb165144eebe7f78)
其中,list(列表)接受数组值,数组中的每一项也都是一个对象。对象的数据值说明如表2-5所示。
表2-5 tabBar中list选项
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0043_0001.jpg?sign=1738952712-Eh6vDN4u3aoEztBG9BkDYekoWP2WDhu7-0-a515a42cf9382d3ebd953fd73f8f4fa8)
在app. json文件中设置如下tabBar配置:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0043_0002.jpg?sign=1738952712-cwPiEFLormuc279HbqTaN4eViZJdnZwe-0-f1a4e4692dd6d183f757bbf1e28a3914)
配置后的页面效果如图2-9所示。
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0044_0001.jpg?sign=1738952712-bG1kywseu6aFCbLGJgvGriEL4NZdnCpd-0-cdc5b9c700bb026c4039843c8b2d3c23)
图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=1738952712-gqn7TbPAmZ840jSJZCAqohcd5ta7NsD9-0-7776e0eec6820aa7a66db62a3b93b3a0)
例如,为提高网络响应效率,开发者可以在app. json中使用下列超时设置:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0044_0003.jpg?sign=1738952712-2K85Gw3mxOLPOcKrc7lCrABausOAGoYO-0-17ba274202e4907349e4e250a2ef2afe)
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=1738952712-Lbu0QfI2cR8E9f11S0GQWwSFc5yK0F4u-0-3b3094de4234c6a7b351423c127f04f9)