在使用小程序模板时,会自动生成一个app.json的文件,里面包含了小程序的配置内容,官方文档详见:全局配置,下面我进行了一下总结。
默认生成的配置如图所示:
pages:页面路径列表
在微信开发者工具里面新建page时,pages会自动生成该路径,如果删除页面,该页面的路径需要在pages里面手动删除,不然会报页面错误。
window:全局的默认窗口表现
用于设置小程序的状态栏、导航条、标题、窗口背景色:
navigationBarBackgroundColor:导航栏背景颜色,如 #000000
navigationBarTextStyle:导航栏标题颜色,仅支持 black / white
navigationBarTitleText:导航栏标题文字内容(会被页面设置覆盖)
navigationStyle:导航栏样式,仅支持以下值:default 默认样式;custom 自定义导航栏,只保留右上角胶囊按钮
backgroundColor:窗口的背景色(屏幕下拉后展示的背景色):1.ios可以上拉,上拉背景色如果没有单独设置,则显示 backgroundColor2.如果设置有backgroundColorTop和backgroundColorBottom,则会覆盖backgroundColor
backgroundTextStyle:下拉 loading 的样式,仅支持 dark / light
backgroundColorTop:屏幕下拉露出顶部窗口的背景色,仅 iOS 支持(覆盖backgroundColor)
backgroundColorBottom:屏幕上滑露出底部窗口的背景色,仅 iOS 支持(覆盖backgroundColor)
enablePullDownRefresh(android):是否开启当前页面的下拉刷新。(只对android有效)
onReachBottomDistance(ios):页面上拉触底事件触发时距页面底部距离,单位为px。(只对ios有效)
pageOrientation:屏幕旋转设置,默认“portrait”,设置为“auto”则为跟随系统旋转
resizable:在 iPad 上运行的小程序可以设置支持屏幕旋转
sitemapLocation:
解决小程序项目中有 sitemap.json 但是 app.json 中没有指定 sitemaplocation 时sitemap.json 会被覆盖掉修复 偶现 applaunch with an already exist webviewid 错误修复 小游戏模拟器弹出时,wx.showkeyboard 会一闪而过的问题修复 提交版本的 " 项目备注" 历史缓存没了的问题
tabBar:底部 tab 栏的表现
除了tab文字、图标和背景色等常用的选项可以设置,tab上边框颜色也可以设置,tab也可以设置显示在页面顶端(不显示图标)
color:tab 上的文字默认颜色,仅支持十六进制颜色
selectedColor:tab 上的文字选中时的颜色,仅支持十六进制颜色
backgroundColor:tab 的背景色,仅支持十六进制颜色
borderStyle:tabbar上边框的颜色, 仅支持 black / white
list:tab 的列表,详见 list 属性说明,最少2个、最多5个 tab
position:tabBar的位置,仅支持 bottom / top
custom:自定义 tabBar
debug:是否开启 debug 模式,默认关闭
debug模式是针对开发者工具的,开启之后再开发者工具的控制台面板输出Page的注册,页面路由,数据更新,事件触发等之类的调试信息:
debug模式只在开发者工具中有效,默认关闭,即不设置,如需打开,需设置为true。
requiredBackgroundModes:需要在后台使用的能力,如「音乐播放」
申明需要后台运行的能力,类型为数组。目前支持以下项目:
audio: 后台音乐播放
如:
{
"pages": ["pages/index/index"],
"requiredBackgroundModes": ["audio"]
}
注:在此处申明了后台运行的接口,开发版和体验版上可以直接生效,正式版还需通过审核。
其他一些不常用的配置项:
networkTimeout:各类网络请求的超时时间,单位均为毫秒。
functionalPages:是否启用插件功能页,默认关闭。
subpackages:分包结构配置。
workers:Worker 代码放置的目录
plugins:使用到的插件
preloadRule:分包预下载规则
navigateToMiniProgramAppIdList:需要跳转的小程序列表。
usingComponents:全局自定义组件配置