微信小程序:全局配置app.json

一、全局配置app.json

app.json文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。

以下是一个包含了部分常用配置选项的 app.json :

{
  "pages": [
    "pages/index/index",
    "pages/logs/index"
  ],
  "window": {
    "navigationBarTitleText": "Demo"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页"
    }, {
      "pagePath": "pages/logs/logs",
      "text": "日志"
    }]
  },
  "networkTimeout": {
    "request": 10000,
    "downloadFile": 10000
  },
  "debug": true
}

app.json 配置项列表:

微信小程序:全局配置app.json_客户端

(1)pages:

用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径+文件名 信息。文件名不需要写文件后缀,框架会自动去寻找对于位置的 .json.js.wxml.wxss 四个文件进行处理。

数组的第一项代表小程序的初始页面(首页)。小程序中新增/减少页面,都需要对 pages 数组进行修改。

如开发目录为:

├── app.js
├── app.json
├── app.wxss
├── pages
│   │── index
│   │   ├── index.wxml
│   │   ├── index.js
│   │   ├── index.json
│   │   └── index.wxss
│   └── logs
│       ├── log.wxml
│       └── log.js
└── utils

则需要在 app.json 中写:

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ]
}

(2)window:

用于设置小程序的状态栏、导航条、标题、窗口背景色。

微信小程序:全局配置app.json_数组_02

注:HexColor(十六进制颜色值),如"#ff00ff"

注:navigationStyle 只在 app.json 中生效。开启 custom 后,低版本客户端需要做好兼容。开发者工具基础库版本切到 1.7.0(不代表最低版本,只供调试用)可方便切到旧视觉

注:客户端 6.7.2 版本开始,navigationStyle: custom 对 <web-view> 组件无效

如 app.json :

{
  "window":{
    "navigationBarBackgroundColor": "#ffffff",
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "微信接口功能演示",
    "backgroundColor": "#eeeeee",
    "backgroundTextStyle": "light"
  }
}

微信小程序:全局配置app.json_客户端_03

(3)tabBar:

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

微信小程序:全局配置app.json_json_04

其中 list 接受一个数组,只能配置最少2个、最多5个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:

微信小程序:全局配置app.json_微信小程序_05

微信小程序:全局配置app.json_json_06

(4)networkTimeout:

各类网络请求的超时时间,单位均为毫秒。

微信小程序:全局配置app.json_数组_07

(5)debug:

可以在开发者工具中开启 debug 模式,在开发者工具的控制台面板,调试信息以 info 的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题。

(6)functionalPages:

基础库 2.1.0 开始支持,低版本需做兼职处理。

启用插件功能页时,插件所有者小程序需要设置其 functionalPages 为 true

(7)subPackages:

微信客户端 6.6.0 ,基础库 1.7.3 及以上版本支持

启用分包加载时,声明项目分包结构。

(8)workers:

基础库 1.9.90 开始支持,低版本需做兼职处理。

使用 Worker 处理多线程任务时,设置 Worker 代码放置的目录

(9)requiredBackgroundModes:

微信客户端 6.7.2 及以上版本支持

申明需要后台运行的能力,类型为数组。目前支持以下项目:

  • audio: 后台音乐播放

如:

{
  "pages": ["pages/index/index"],
  "requiredBackgroundModes": ["audio"]
}

注:在此处申明了后台运行的接口,开发版和体验版上可以直接生效,正式版还需通过审核。

(10)plugins:

基础库 1.9.6 开始支持,低版本需做兼职处理。

声明小程序需要使用的插件。