![微信小程序开发与运营](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=1739587607-mbuGD7cL4sv6iLxyxhBjdK1LbPk0uVio-0-f39bb62f4bc30be14ebca0573b3b85af)
全局配置文件内容的整体结构如下:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0041_0002.jpg?sign=1739587607-KZiLdGfw9rq3bOUdLXbm1BaQ4R2W7vbC-0-6e3fa102d1cd79e6c3e3c00d03aa240d)
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=1739587607-fcv9paeSnxXycYjLMpyYlLAbTgP630Aq-0-36e1c8df2f562c9efa4202b1cafd6425)
2. window配置项
window配置项负责设置小程序状态栏、导航条、标题、窗口背景色等系统样式。window配置项可以配置的对象参考表2-3。
表2-3 window配置项及其描述
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0002.jpg?sign=1739587607-mlIlfgWIw1uv321QGIsPn8IkvVui7ApE-0-1abb1b7d66696cc7459f0dfa2fd96b06)
在app. json中设置如下window配置项:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0003.jpg?sign=1739587607-ApJGTJxXTuUyU0rExvMwcNzCs0Ru0jjB-0-a97574d13ac167d2a65e5aaf8db270de)
3. tabBar配置项
当需要在程序顶部或底部设置菜单栏时,可以通过配置tabBar配置项来实现。tabBar配置项可以配置的属性如表2-4所示。
表2-4 tabBar配置项及其描述
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0042_0004.jpg?sign=1739587607-A3XmgFfL946GIR7Nis323mxznealCxCN-0-5d7a0c885a50e2cca712ba486aedc822)
其中,list(列表)接受数组值,数组中的每一项也都是一个对象。对象的数据值说明如表2-5所示。
表2-5 tabBar中list选项
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0043_0001.jpg?sign=1739587607-aGh9OgDb4cA3csm9y0lm9Og0xMunkrbd-0-07ae641bf4dde6fe94276b49c3a6f5f7)
在app. json文件中设置如下tabBar配置:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0043_0002.jpg?sign=1739587607-1zXc3KtOquPPZS9xib9fSDh1p58U1F2D-0-c43eb04adaa89864b59160cc3d62b87b)
配置后的页面效果如图2-9所示。
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0044_0001.jpg?sign=1739587607-m5MuMnHwcpcLyZU51uMcWIDuNcbBbQpo-0-665c03abf4ee70048f37372fb85d1e53)
图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=1739587607-dfYCKxAAIWxrOV2U4CGw6LGRdK5hlMDu-0-cc21d69d1c80f885fdd5bdc51af3304f)
例如,为提高网络响应效率,开发者可以在app. json中使用下列超时设置:
![](https://epubservercos.yuewen.com/E048FF/17640061507545406/epubprivate/OEBPS/Images/figure_0044_0003.jpg?sign=1739587607-mPRSZUyA1zOSikKCmzGC8iNJGSoEyw06-0-a0a6aaf7ecf4b1ab7993663e77aa512a)
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=1739587607-3kD7jnURw8nXzjtKNhTSBpWjh7itgBV8-0-75ed3ba9781780e255f10cfed40f699b)