小程序提供了一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生 APP 体验的服务。本章分主题的介绍了小程序的开发语言、框架、能力、调试等内容,帮助开发者快速全面的了解小程序开发的方方面面。
小程序调试工具
用来调试小程序,非常类似于网页的调试工具,分为以下几个功能模块:
Wxml
:页面结构和结构对应的 wxss 属性Console
:控制台,输出提示信息Sources
:当前项目的脚本文件Network
:观察和显示request
和socket
的请求情况Perfomance
:性能分析Memory
:内存AppData
:当前小程序的具体数据Storage
:显示当前项目使用wx.setStorage
或者wx.setStorageSync
存储的数据Security
: 安全性Sensor
:模拟地理位置和模拟移动设备表现,用于调试重力感应 APIMock
:模拟接口Audits
:体验评分检测Vulnerability
:发现并修复小程序内的接口安全漏洞,提升小程序安全
代码构成
一个小程序主要包含pages
页面、utils
工具类库、app
相关的一些配置、project.config.json
项目配置。
-
pages
页面(小程序的每一个页面)由4个文件组成:js
: 页面逻辑,相当于控制层,也包括部分数据wxml
:页面结构展示,相当于视图层(view)json
:页面配置,配置一些页面展示的数据,充当部分的模型wxss
:页面样式表
-
utils
工具类库:常用的可共用的工具类 -
app
配置:必须放在根目录下-
app.js
:全局的小程序逻辑处理 -
app.wxss
:小程序的公共样式表 -
app.json
:小程序的公共配置,可以配置页面路径、窗口表现、底部 tabBar等,更多可查看官网全局配置项
-
app.json
当前小程序的全局配置,包括了所有页面路径、标题栏显示、网络超时时间、底部 tab 等。
json
代码解读
{
// 小程序的默认启动路径,如果不指定,则为 pages 里的第一项
"entryPagePath": "pages/catlist/index",
// 页面路径
"pages": [
"pages/catlist/index",
...
],
// 分包路径
"subPackages": [
{
"root": "common",
"name": "common",
"pages": [
"pages/shareappmessage/index",
"pages/scan/index"
]
}
],
// 小程序的状态栏、导航条、标题、窗口背景色
"window": {
"backgroundTextStyle": "dark",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "宠物乐园",
"navigationBarTextStyle": "black"
},
// 多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面
"tabBar": {
"color": "#1485EE",
"selectedColor": "#FF514E",
"list": [
{
"pagePath": "pages/catlist/index",
"text": "列表",
"iconPath": "image/02.png",
"selectedIconPath": "image/022.png"
},
{
"pagePath": "pages/mycat/index",
"text": "我的",
"iconPath": "image/04.png",
"selectedIconPath": "image/044.png"
}
]
},
// 启用新版的程序样式
"style": "v2",
// 指定`sitemap.json`的位置,`sitemap.json`文件用于配置小程序及其页面是否允许被微信索引
// https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/sitemap.html
"sitemapLocation": "sitemap.json"
}
生命周期
应用生命周期。
提供Page()
构造器来注册页面,指定页面的初始数据、生命周期回调、事件处理函数等。
提供以下生命周期回调:
onLoad
:页面创建时执行onShow
:页面出现在前台时执行onReady
:页面首次渲染完毕时执行onHide
: 页面从前台变为后台时执行onUnload
: 页面销毁时执行onPullDownRefresh
: 触发下拉刷新时执行onReachBottom
: 页面触底时执行onShareAppMessage
: 页面被用户分享时执行onPageScroll
: 页面滚动时执行onResize
: 页面尺寸变化时执行onTabItemTap
:tab 点击时执行
json 配置
json
可以通过app.json
对全局的标题栏等进行配置,也可以对某一个页面进行配置。
navigationBarBackgroundColor
:导航栏背景颜色navigationBarTextStyle
:导航栏标题颜色,仅支持black
/white
navigationBarTitleText
:导航栏标题文字内容navigationStyle
:导航栏样式enablePullDownRefresh
:是否开启当前页面下拉刷新
小程序的更新方式。
小程序的api
路由与通信
scroll-view 下啦刷新。上拉加载
组件的使用方法
插槽 跟vue 差 不多
微信组件中写样式的注意点
- 不用标签选择器 和id选择器 和 属性选择器 [id]。用class选择器
- 不能子选择器。 .conten > .lable 只能view 和子组件
- 继承样式。 color 和。font都会从组件继承。
- 全局样式,组件所在页面的样式文件中的样式都对自定义组件无效
- 不建议在全局样式文件和父级页面之间使用标签
分享还未停止,如觉得本文对你有帮助的话,欢迎点赞❤❤❤,写作不易,持续输出的背后是无数个日夜的积累,您的点赞是持续写作的动力,感谢支持!