小程序全局配置文件app.json的编写
小程序的目录结构主要包含项目配置文件、主体文件、页面文件和其他文件。可以创建小程序项目对代码文件的构成进行分析。
每个小程序,在新建时都会自动生成一个项目配置文件project.config.json,该文件直接位于项目根目录下。其内部代码可用来定义小程序的项目名称、AppID等内容。
小程序主体文件同样直接位于项目根目录下。
主体文件名称均为app,根据后缀名不同分为3种类型。
app.json:必填文件,用于描述小程序的公共配置。
app.js:必填文件,用于描述小程序的整体逻辑。
app.wxss:可选文件,小程序公共样式表。
app.json文件是小程序的全局配置文件,主要包含了小程序所有页面的路径地址、导航栏样式等。
JSON字符串通常有两种构建形式,一是“名称/值”对的集合;二是值的有序列表。
//多个名称/值对
var json2 = {x1 : 123, x2 : 'hello', x3 : true}
//对象取值
var json3 = [
{username: 'zhangsan', password : '123', city : 'Wuhu'},
{username: 'lisi', password: '456', city: 'Hefei'},
]
//假如想要获取json3中第1个用户的所在城市,写法是json3[0].city。
小程序项目主要包含了pages和window两个属性。除了pages和window以外,app.json还可以配置tabBar、networkTimeout及debug等属性。
pages |
String Array |
必填属性,用于记录小程序所有页面的路径地址;其中如果有多个页面地址,第一个将默认为是小程序初始页面 |
window |
Object |
可选属性,用于设置页面的窗口表现,例如导航栏的背景颜色、标题文字内容、以及文字颜色等 |
tabBar |
Object |
可选属性,用于设置页面底部Tab工具条的表现 |
networkTimeout |
Object |
可选属性,用于设置各种网络请求的超时时间 |
debug |
Boolean |
可选属性,用于设置是否开启调试模式 |
pages属性,String Array类型, 必填属性,用于记录小程序所有页面的路径地址。其中如果有多个页面地址,第一个将默认为小程序的初始页面。
"pages": ["pages/index/index", "pages/logs/logs"]
pages属性对应的值是数组形式,数组的每一项都是以字符串形式记录小程序页面的路径地址。
pages属性的相关代码表示当前共有两个页面,分别是index和log页面,并且其中的index页面被默认为小程序的初始页面。
由于默认数组中的第一个元素就是小程序的初始页面,也可以临时手动调整数组中元素的顺序,以便快速查看不同页面的模拟器预览效果。
如果新建页面,app.json中的pages属性会自动更新代码,将新增页面的路径记录到数组中的最后一行。需要注意的是,如果对页面进行删除或者在硬盘中直接添加新页面,则不会触发代码自动更新效果,而需要手动修改app.json中的pages属性值。
window属性,Object类型, 可选属性,用于设置页面的窗口表现,例如导航栏的背景颜色、标题文字内容以及文字颜色等。window属性对应的值是对象形式,其中包括了小程序页面顶端导航栏的背景颜色、标题文字内容以及文字颜色等属性。
navigationBarBackgroundColor属性,HexColor类型,默认值#000000,表示导航栏背景颜色,默认值表示黑色,也可以简写为#000
navigationBarTextStyle属性,String类型,默认值white,表示导航栏标题颜色,默认值表示白色,该属性值只能是white或black
navigationBarTitleText属性,String类型,表示导航栏标题文字内容,默认为无文字内容navigationStyle属性,String类型,默认值default,表示导航栏样式,只支持default或custom,其中custom用于自定义导航栏内容,只保留右上角的小图标
backgroundColor属性,HexColor类型,默认值#ffffff,表示窗口的背景颜色,默认值表示白色,也可以简写为#fff
backgroundTextStyle属性,String类型,默认值dark,表示下拉加载的样式,该属性值只能是dark或light
backgroundColorTop属性,String类型,默认值#ffffff,表示顶部窗口的背景颜色,只有iOS有效
backgroundColorBottom属性,String类型,默认值#ffffff,表示底部窗口的背景颜色,只有iOS有效
enablePullDownRefresh属性,Boolean类型,默认值false,表示是否开启下拉刷新功能
onReachBottomDistance属性,Number类型,默认值50,表示页面上拉触底事件触发时距页面部的距离,单位为像素(px)
注意:标记类型为HexColor的属性值只支持十六进制颜色表示方式,例如#f00000表示红色,也可简写为#f00,并且大小写不限。
tabBar属性,Object类型,可选属性,用于设置页面底部tab工具条的表现。如果小程序是一个多tab应用(客户端窗口的底部有tab栏可以切换页面),可以通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面。
tabBar的属性值如表所示。
属性 |
类型 |
必填 |
默认值 |
描述 |
color |
HexColor |
是 |
|
tab上的文字默认颜色 |
selectedColor |
HexColor |
是 |
|
tab上的文字选中时的颜色 |
backgroundColor |
HexColor |
是 |
|
tab的背景色 |
borderStyle |
String |
否 |
black |
tabBar上边框的颜色,仅支持black、white |
list |
Array |
是 |
|
tab的列表 |
position |
String |
否 |
bottom |
tabBar的位置,仅支持bottom、top |
其中,list接收一个数组,只能配置最少两个、最多5个tab。tab按数组的顺序排序,每项都是一个对象,其属性值如表所示。
属性 |
类型 |
必填 |
描述 |
pagePath |
String |
是 |
页面路径,必须在pages中先定义 |
text |
String |
是 |
Tab上按钮的文字 |
iconPath |
String |
否 |
图标路径,icon大小限制为40KB,建议尺寸为81px*81px,不支持网络图片 |
selectedIconPath |
String |
否 |
选中时的图标路径,icon大小限制为40KB,建议尺寸为81px*81px,不支持网络图片 |