小程序文件类型介绍

1. 文件类型

  1. .json 后缀的JSON 配置文件
  2. .wxml 后缀的 WXML模版文件
  3. .wxss 后缀的WXSS样式文件
  4. .js 后缀的JS脚本逻辑文件

注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名。

JSON配置

小程序全局配置文件 app.json

app.json是对当前小程序的全局配置,包括了小程序的所有页面路径,界面表现,网络超时时间,底部tab等。

属性 类型 必填 描述
pages string Array 设置页面路径
windows object 设置默认页面的窗口表现
tabBar object 设置底部tab的表现
networkTimeout object 设置网络超时时间
debug boolean 设置是否开启debug模式
pages 属性

接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。

文件名不需要写文件后缀,因为框架会自动去寻找路径下 .json, .js, .wxml, .wxss 四个文件进行整合。

windows属性

|属性 | 类型 | 默认值 | 描述 |
| :——– | ——–: | :——–: | :——– |:——– |
| navigationBarBackgroundColor |HexColor|#000000|导航栏背景颜色,如”#000000”|
|navigationBarTextStyle|string|white|导航栏标题颜色,仅支持 black/white |
|navigationBarTitleText|string||导航栏标题文字内容|
|navigationStyle|string|default|导航栏样式,仅支持 default/custom。custom 模式可自定义导航栏,只保留右上角胶囊状的按钮,微信版本6.6.0| |backgroundColor|HexColor|#ffffff|下拉窗口的背景色|
|backgroundTextStyle|string|dark|下拉loading的样式,仅支持dark/light|
|backgroundColorTop|string|#ffffff|顶部窗口的背景色,仅ios支持,微信版本6.5.16| |backgroundColorBottom|string|#ffffff|底部窗口的背景色,仅ios支持,微信版本6.5.16| |enablePullDownRefresh|Boolean|false|是否开启下拉刷新|
|onReachBottomDistance|Number|50|页面上拉触底事件触发时距页面底部距离,单位为px|

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

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

tabBar属性

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

  1. 当设置position为top时,将不会显示icon
  2. tabBar中的list是一个数组,只能配置最少2个,最多5个,tab按数组的顺序排序

属性说明:

属性 类型 必填 默认中 描述
color HexColor tab上文字默认颜色
selectColor HexColor tab上文字选中时的颜色
backgroundColor HexColor tab 的背景色
borderStyle string black tabbar上边框的颜色, 仅支持 black/white
list Array tab 的列表,详见 list 属性说明,最少2个、最多5个 tab
position string bottom 可选值bottom、top

其中 list 接受一个数组,数组中的每个项都是一个对象,其属性值如下:

属性 类型 必填 描述
pagePath string 页面路径,必须在pages中先定义
text string tab上按钮文字
iconPath string 图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效,不支持网络图片
selectedIconPath string 选中时的图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效

图片属性说明

networkTimeout 属性

可以设置各种网络请求的超时时间。

属性说明:

属性 类型 必填 描述
request Number wx.request的超时时间,单位毫秒,默认为:60000
connectSocket Number wx.connectSocket的超时时间,单位毫秒,默认为:60000
uploadFile Number wx.uploadFile的超时时间,单位毫秒,默认为:60000
downloadFile Number wx.downloadFile的超时时间,单位毫秒,默认为:60000
debug属性

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

page.json

每一个小程序页面也可以使用.json文件来对本页面的窗口表现进行配置。 页面的配置比app.json全局配置简单得多,只是设置 app.json 中的 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

页面的.json只能设置 window 相关的配置项,以决定本页面的窗口表现,所以无需写 window 这个键。

属性 类型 默认值 描述
navigationBarBackgroundColor HexColor #000000 导航栏背景颜色,如”#000000”
navigationBarTextStyle string white 导航栏标题颜色,仅支持 black/white
navigationBarTitleText string 导航栏标题文字内容
navigationStyle string default 导航栏样式,仅支持 default/custom。custom 模式可自定义导航栏,只保留右上角胶囊状的按钮,微信版本6.6.0
backgroundColor HexColor #ffffff 下拉窗口的背景色
backgroundTextStyle string dark 下拉loading的样式,仅支持dark/light
backgroundColorTop string #ffffff 顶部窗口的背景色,仅ios支持,微信版本6.5.16
backgroundColorBottom string #ffffff 底部窗口的背景色,仅ios支持,微信版本6.5.16
enablePullDownRefresh Boolean false 是否开启下拉刷新
onReachBottomDistance Number 50 页面上拉触底事件触发时距页面底部距离,单位为px
disableScroll Boolean false 设置为 true 则页面整体不能上下滚动;只在 page.json 中有效,无法在 app.json 中设置该项