微信小程序有几个基础的文件:js(JavaScript逻辑代码),json(页面配置),wxml(类似hthml布局),wxss(css样式)
我们使用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 配置项列表
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
pages | Array | 是 | 设置页面路径 |
window | Object | 否 | 设置默认页面的窗口表现 |
tabBar | Object | 否 | 设置底部 tab 的表现 |
networkTimeout | Object | 否 | 设置网络超时时间 |
debug | Boolean | 否 | 设置是否开启 debug 模式 |
在自动生成的json文件里需要pages和window,tabBar,下面解释一下pages和window
1.pages
pages接收一个数组,每一项都是字符串来指定小程序的每一个页面,每一项代表对应页面的[路径+文件名]。数组的第一项代表小程序的初始页面,小程序新增或者减少页面,都需要对pages进行修改。
文件名不需要写文件后缀,因为框架会自动去寻找路径 .json .js .wxml .wxss的四个文件进行整合。
例子:
//pages: String Array 设置页面路径 "pages":[ "pages/index/index", "pages/logs/logs", "pages/account/account" ],
2.window
用于设置小程序的状态栏,导航条,标题,窗口背景色。
//window: Object 设置默认页面的窗口表现 "window":{ "enablePullDownRefresh":true, //是否开启下拉刷新 "backgroundColor":"fff", //窗口的背景色 "backgroundTextStyle":"light", //下拉背景字体、loading 图的样式,仅支持 dark/light "navigationBarBackgroundColor": "red", //导航栏背景颜色 "navigationBarTitleText": "同舟快递", //导航栏标题文字内容 "navigationBarTextStyle":"black" //导航栏标题颜色,仅支持 black/white },
3.tabBar
如果我们的应用是一个多tab应用(客户端窗口的底部和顶部有tab栏可以进行切换),那么我们可以通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面。
Tip:通过页面跳转(wx.navigationTo)或者页面重定向(wx.redirectTo)所到达的页面,即使他是定义在tabBar配置中的页面,也不会显示底部的tab栏。
tabBar是一个数组,只能配置最少2个,最多5个,tab按数组的顺序排序。
其中list接收一个数组,数组中的每一个项都是一个对象,
例子:
//tabBar: Object 设置底部 tab 的表现 "tabBar": { "list": [{ "pagePath": "pages/index/index", //页面路径,必须在 pages 中先定义 "text": "首页", //tab 上按钮文字 "iconPath": "", //图片路径,icon 大小限制为40kb, "selectedIconPath":"" //选中时的图片路径,icon 大小限制为40kb }, { "pagePath": "pages/logs/logs", "text": "日志" }, { "pagePath": "pages/account/account", "text": "个人中心" }] },//.确认你的list集合长度不小于2且不大于5 (官方要求的)