![微信小程序开发解析](https://wfqqreader-1252317822.image.myqcloud.com/cover/538/52842538/b_52842538.jpg)
2.2.1 JSON配置文件
微信默认创建的小程序根目录下包含4个JSON文件,分别是app.json、project.config.json、sitemap.json、index.json,如图2-1所示。下面依次介绍这些文件的作用。
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-P27_9230.jpg?sign=1739292869-zVPhnqeEomerHkgVB5Y0PaZCOpY7JPD9-0-0fcce2d2e68b064ff7af59da07e2f990)
图2-1
1.app.json文件
app.json是微信小程序的全局配置文件,主要用于配置小程序全局性的页面路径、界面表现、网络超时时间、底部tab栏等。默认创建的微信小程序的app.json代码如下。
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-P27_9244.jpg?sign=1739292869-8qEciW9vj6UjRTFyyngiX3o05Y1cNLiv-0-b1858b3cc1ad3f9c21c243fb579aed49)
其中,各部分代码的含义及作用如下。
◆ pages代码表明当前微信小程序由哪些页面组成,其中第一个页面代表当前微信小程序的首页。
◆ window代码用于设置小程序的状态栏、导航条、标题、窗口背景色等。
◆ style代码用于指定使用升级后的WeUI样式。
◆ sitemapLocation用于指明sitemap.json的位置。
app.json的相关配置项如表2-2所示。
表2-2
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T27_65391.jpg?sign=1739292869-8ZYiL1rlvDEfSg8V9LLVov358uya4rQK-0-9f76b57dda951ec15d028c58d35c7fd5)
其中,window的相关属性如表2-3所示。
表2-3
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T28_65395.jpg?sign=1739292869-fz4dvOhkoGrmKprRRvE4lKBrp65ezlVE-0-ee3c69e8db2768d15e6a715d841a7927)
tabBar以及tabBar-list的相关属性如表2-4和表2-5所示。
表2-4
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T29_65397.jpg?sign=1739292869-TYTetHwdnYCPxSJiTaXTMzyUsfLduQ92-0-5dab32d8c407079e51acd63686ad1aae)
表2-5
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T29_65399.jpg?sign=1739292869-O6GSNeb9So0A4TXdAJkzxKKaBRM7XDYf-0-a367e1d85437f16b6b1611daaf4716a8)
networkTimeout的相关属性如表2-6所示。
表2-6
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T29_65401.jpg?sign=1739292869-8MSv0plFYo1c5b99GnUMtVG7CrOn74y1-0-80db7b3e06dccde90c46c903e2971d69)
permission以及PermissionObject的相关属性如表2-7和表2-8所示。
表2-7
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T29_65403.jpg?sign=1739292869-SBsTuEDiX4yqGit3avuKkzTzJo2ocsM2-0-695d9ad2c73061a89e99dd9a8b6f77c7)
表2-8
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T29_65405.jpg?sign=1739292869-FEqFjuko74BlAUSUEwI15cWthHpnxDeO-0-a859d0ad558fb1cf990de653d79f6985)
singlePage的相关属性如表2-9所示。
表2-9
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T29_65407.jpg?sign=1739292869-PRLVi5hnsMCftHIOiEGZ3Ug1NrFI78eL-0-20699b61d2f06302d44db383e14e0d3b)
2.project.config.json文件
project.config.json是项目配置文件。
3.sitemap.json文件
sitemap.json文件用于配置小程序及其页面是否可被微信索引,文件内容为一个JSON对象。如果没有sitemap.json,则默认为所有页面都允许被索引。
微信现已开放小程序内搜索,开发者可以通过sitemap.json进行配置,或者通过管理后台页面的收录开关来配置其小程序页面是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。
爬虫访问小程序内页面时,会携带特定的user-agent:mpcrawler及场景值:1129。需要注意的是,若小程序爬虫发现的页面数据和真实用户的数据呈现不一致,那么该页面将不会进入索引。
4.index.json文件
index.json文件可对index页面的窗口表现进行配置。页面中的配置项在当前页面会覆盖app.json的window中相同的配置项。文件内容为一个JSON对象。
Page的相关配置项以及单页模式的相关属性如表2-10、表2-11所示。
表2-10
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T30_65409.jpg?sign=1739292869-K2J3Qenak5dx5NAvuKU3INVDcqBOVmgj-0-54314740c6d2938c88b3afdfecd54ec7)
表2-11
![](https://epubservercos.yuewen.com/1197D9/31397891003667606/epubprivate/OEBPS/Images/Figure-T31_65411.jpg?sign=1739292869-47D4QC3PFOXNxpjFFu71r1aK45Po0c44-0-da345483959072785eb6536c5b1b7dcf)