在上一篇微信小程序开发笔记(二)中我们分享了关于微信小程序的一个整体框架目录,那么今天我们分享的就是关于这个整个框架中每个文件的一些作用。
首先,就主文件中三个文件(app.js、app.json、app.wxss)来进行说明:
app.js
这是微信小程序的全局主逻辑文件,当然,在page目录中也会有独立的**.js文件,这些以.js结尾的均是逻辑层的文件,在主目录的逻辑文件app.js需要先通过App( )
函数来进行注册,这个函数接收一个Object参数,其指定小程序的生命周期函数等,具体我们后面会慢慢介绍。
app.json
这是一个全局配置文件,他可以定义很多,包括页面入口、tab、窗口表现等,全部配置如下:
{ "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 | String Array | 是 | 设置页面路径 |
window | Object | 否 | 设置默认页面的窗口表现 |
tabBar | Object | 否 | 设置底部 tab 的表现 |
networkTimeout | Object | 否 | 设置网络超时时间 |
debug | Boolean | 否 | 设置是否开启 debug 模式 |
pages
接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。
文件名不需要写文件后缀,因为框架会自动去寻找路径.json
,.js
,.wxml
,.wxss
的四个文件进行整合。
如开发目录为:
pages/
pages/index/index.wxml
pages/index/index.js
pages/index/index.wxss
pages/logs/logs.wxml
pages/logs/logs.js
app.js
app.json
app.wxss
则,我们需要在 app.json 中写
{
“pages”
:[
“pages/index/index”
“pages/logs/logs”
]
}
window
用于设置小程序的状态栏、导航条、标题、窗口背景色。
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
navigationBarBackgroundColor | HexColor | #000000 | 导航栏背景颜色,如”#000000″ |
navigationBarTextStyle | String | white | 导航栏标题颜色,仅支持 black/white |
navigationBarTitleText | String | 导航栏标题文字内容 | |
backgroundColor | HexColor | #ffffff | 窗口的背景色 |
backgroundTextStyle | String | dark | 下拉背景字体、loading 图的样式,仅支持 dark/light |
enablePullDownRefresh | Boolean | false | 是否开启下拉刷新,详见页面相关事件处理函数。 |
注:HexColor(十六进制颜色值),如”#ff00ff”
如 app.json :
{ "window":{ "navigationBarBackgroundColor": "#ffffff", "navigationBarTextStyle": "black", "navigationBarTitleText": "微信接口功能演示", "backgroundColor": "#eeeeee", "backgroundTextStyle": "light" } }
tabBar
如果我们的小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),那么我们可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
Tip: 通过页面跳转(wx.navigateTo)或者页面重定向(wx.redirectTo)所到达的页面,即使它是定义在 tabBar 配置中的页面,也不会显示底部的 tab 栏。 Tip: 当设置 position 为 top 时,将不会显示 icon
tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。
属性说明:
属性 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
color | HexColor | 是 | tab 上的文字默认颜色 | |
selectedColor | 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的注册
,页面路由
,数据更新
,事件触发
。 可以帮助开发者快速定位一些常见的问题。
app.wxss
而app.wxss是属于视图层的东西,也就相当于css的东西,官方给出的解释是:WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。
而app.wxss是全局样式,在这里定义的样式,可以在任意的page页里直接使用,无需导入之类的,当然,你还有自己定义的独立样式,也可以通过@import “**.wxss”;的方式来导入你的样式,然后在相关的页面就可以使用你自己定义的样式了。
其次,我们就介绍的就是关于page页里的相关文件(**.js、**.wxml、**.json、**.wxss)
当然**.js一样是逻辑文件,这里就不介绍了,而且它内部的相关介绍以及它如何和主文件中的逻辑文件进行通信,我们在后期会慢慢介绍。
**.wxml文件也是视图层文件,类似于html文件,当然,它还有一些增强罢了,比如我们通过定义个通用模板文件如下:
<template name="tplName"> <view> FirstName: {{firstName}}, LastName: {{lastName}} </view> </template>
然后我们在需要的地方都可以调用这个模板,如下:
<template is="tplNmae" data="{{...tplA}}"></template> <template is="tplName" data="{{...tplB}}"></template> <template is="tplName" data="{{...tplC}}"></template>
当然,我们还需要在逻辑层里定义一些数据,模拟一下嘛:
Page({ data: { tplA: {firstName: 'Yan', lastName: 'Zhi'}, tplB: {firstName: 'Web', lastName: 'Yan'}, tplC: {firstName: 'Web', lastName: 'Blog'} } })
然后**.json文件也是当前页面的配置文件,我们除了在全局页面配置统一的设置,也可以在不同页面设置不同的信息哦。
**.wxss文件当然也是当前页面的配置文件了,如果你的某些样式仅仅只需要在当前页有设置,那么在这个文件里设置也是不错的,就没必要在全局的app.wxss中设置了。
那么以上的内容就是关于目录中相关文件的介绍,有任何问题都可以留言告诉我们,同时请关注我们的下方二维码,更多最新最全的信息我们都会及时发布的。
评论前必须登录!
注册