- entryPagePath,指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等,如果不填,将默认为pages列表的第一项,不支持带页面路径参数
app.json
{
"entryPagePath":"pages/index/index"
}
- pages 用于指定小程序由哪些页面组成,每一项都对应一个页面的路径(含文件名)信息。文件名不需要写文件后缀,框架会自动去寻找对应位置的.json,.js,.wxml,.wxss四个文件进行处理,未指定entryPagePath时,数组的第一项代表小程序的初始页面(首页)
小程序中新增/减少页面,都需要对pages数组进行修改 如开发目录为: 则需要在app.json中写:
app.json
{
"pages":[
"pages/index/index",
"pages/logs/logs"
]
}
- window,用于设置小程序的状态栏、导航条、标题、窗口背景色
app.json
{
"navigationBarBackgroundColor":"#000",
"navigationBarTextStyle":"white",
"navigationBarTitleText":"title",
"navigationStyle":"default",
"backgroundColor":"#000",
"backgroundTextStyle":"dark",
"backgroundColorTop":"#ffffff",
"backgroundColorBottom":"#ffffff",
"enablePullDownRefresh":"false",
"onReachBottomDistance":"50",
"pageOrientation":"portrait"
}
- tabBar,如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
app.json
{
"tabBar":
{
"color":'#000',
"selectedColor":'#fff',
"backgroundColor":'#fff',
"borderStyle":"black",
"position":"bottom",
"custom":false,
"list":[
{
"pagePath":"",
"text":"",
"iconPath":"",
"selectedIconPath":"",
}
]
}
}
- networkTimeout,各类网络请求的超时时间,单位均为毫秒
app.json
{
"newworkTimeout":{
"request":6000,
"connectSocker":6000,
"uploadFile":6000,
"downloadFile":6000
}
}
- debug,可以在开发者工具中开启debug模式,在开发者工具的控制台面板,调试信息以info的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题
{
"debug":true
}
-
functionlPages,插件所有者小程序需要设置这一项来启用插件功能页 -
subpackages,启用分包加载时,声明项目分包结构 -
workers,使用worker处理多线程任务时,设置worker代码放置目录 -
requiredBackgroundModes,申明需要后台运行的能力,类型为数组,目前支持audio:后台音乐播放,location:后台定位
{
"pages":["pages/index/index"],
"requiredBackgroundModes":["audio","location"]
}
-
plugins,声明小程序需要使用的插件 -
preloadRule,声明分包预下载的规则 -
resizable,在 iPad 上运行的小程序可以设置支持屏幕旋转。在 PC 上运行的小程序,用户可以按照任意比例拖动窗口大小,也可以在小程序菜单中最大化窗口 -
usingComponents,在此处声明的自定义组件视为全局自定义组件,在小程序内的页面或自定义组件中可以直接使用而无需再声明 -
permission,小程序接口权限相关设置,字段类型为object
scope.userLocation
desc
app.json
{
"pages":["pages/index/index"],
"permission":{
"scope.userLocation":{
"desc":"你的位置信息将用于小程序位置接口的效果展示"
}
}
}
-
sitemapLocation,指明 sitemap.json 的位置;默认为’sitemap.json’即在app.json同级目录下名字的sitemap.json文件 -
style,微信客户端 7.0 开始,UI 界面进行了大改版。小程序也进行了基础组件的样式升级。app.json 中配置 “style”: "v2"可表明启用新版的组件样式。 -
useExtendedLib,指定需要引用的扩展库,目前支持以下项目: kbone:多端开发框架 weui:WeUI组件库 指定后,相当于引入了对应扩展库相关的最新版本的npm包,同时也不占用小程序的包体积
app.json
{
"useExtendedLib":{
"kbone":true,
"weui":true
}
}
- entranceDeclare,聊天位置消息用打车类小程序打开
{
"entranceDeclare":{
"locationMessage":{
"path":"pages/index/index",
"query":"foo=bar"
}
}
}
- darkmode,微信iOS客户端 7.0.12 版本、Android客户端 7.0.13 版本正式支持 DarkMode,可通过配置"darkmode": true表示当前小程序可适配 DarkMode,所有基础组件均会根据系统主题展示不同的默认样式,navigation bar 和 tab bar 也会根据开发者的配置自动切换。配置后,请根据DarkMode 适配指南自行完成基础样式以外的适配工作。
{
"darkmode":true
}
- themeLocation,自定义theme.json的路径,当配置"darkmode":true时,当前配置文件为必填项
{
"themeLocation":"/path/to/theme.json"
}
- lazyCodeloading,目前仅支持值requiredComponents,代表开启小程序 [ 按需注入 ] 特性
{
"lazyCodeLoading":"requiredComponents"
}
{
"navigationBarFit":"float"
}
homePage
homePageAndLatestPage
|