微信小程序
微信小程序
微信小程序对比一些市面上流行的前端框架多一个自己的json配置文件
- app.json:小程序全局配置文件,配置小程序的一些全局属性和页面路由
- 页面.json:小程序页面配置文件,也称局部配置文件,配置当前页面的窗口样式、页面标题等
- project.config.json:小程序项目配置文件,用于保存项目的一些配置信息和开发者的个人设置
- sitemap.json:配置小程序及其页面是否允许被微信索引,提高小程序在搜索引擎中搜索到的概率
app.json
pages字段
用来指定小程序由哪些页面组成,用于让小程序知道哪些页面组成以及页面定义在哪个目录,每一项都对应一个页面的路由信息
- 页面路由不需要写后缀名,框架会自动寻找对应的四个文件进行处理
- 小程序中新增,减少页面,都需要修改pages数组,也可以通过这个字段来添加页面
- 未指定entryPagePath是,数组的第一项为小程序的首页
window字段
用于设置小程序的状态栏、导航条、标题、窗口背景色
tabbar字段
通过tabBar配置项指定tab栏的表现,以及tab切换时显示得到对应页面
tab按数组的顺序排序,list配置最少2个,最多5个
- text:分类
- pagePath:路由跳转
- iconPath:未选中图标
- selectedIconPath:已选中图标
页面配置
页面配置的属性和全局配置基本相同,但相同的配置项会覆盖掉全局配置
项目配置文件
project.config.json和project.private.config.json
project.config.json是项目共有配置,常用来进行配置的公共配置
project.private.config.json是项目私有配置,常用来配置个人的配置
注:个人配置需要写到.gitignore文件中避免上传到仓库
1 | |
sitemap.json
配置小程序及其页面是否允许被微信索引,提高小程序在微信内部被用户搜索到的概率
- 没有sitemaap.json则默认所有页面都能被索引
- {“action”:”allow”,”page”:”*”}
这个文件一般不需要配置,默认即可
样式和组件
WXML提供了view、text、image、navigator等表现构建页面结构,只不过在小程序中将标签识别为组件
WXSS对CSS扩充和修改,新增了尺寸单位rpx、提供了全局的样式和局部样式,另外需要注意的是WXSS仅支持部分选择器
rpx
随着收集发展,收集设备的宽度多元化,为了解决屏幕适配的问题,微信小程序推出了rpx单位
小程序规定,任何宽度的收集屏幕的rpx参数都是750
iphone6作为视觉稿的标准,iphone6设备宽度为375px,在这种情况下,px和rpx的换算标准为1rpx=0.5px
全局样式
app.wxss是全局样式,局部样式可以替换掉全局样式
常用组件
view组件
小程序提供的容器组件,可以直接当成div使用
swiper和swiper-item组件
通过这两个组件来实现轮播图
1 | |
image组件
- src属性:图片资源地址
- mode属性:图片裁剪、缩放的模式
- top、left这种方位会裁切图片
- aspectFill以短边裁切
- aspectFit以长边裁切
- show-menu-by-long-press属性:长安图片显示菜单
- lazy-load属性:图片懒加载
注:在微信小程序中,image组件具有默认的宽和高,宽320px,高240px
text组件
- user-select:文本是否可选,用于长按选择文本
- space:显示连续空格
除了文本组件之外的其他组件都无法长按选中文本,且text组件内仅支持text嵌套
navigator组件
在小程序中如果想要完成跳转连接,需要使用navigator插件
- url:当前小程序的跳转连接
- open-type:跳转方式
- navigate:保留当前页面,跳转到应用内的某个页面,但不能跳转到tabbar页面
- redirect:关闭当前页面,跳转到应用内的某个页面,但不能跳转到tabbar页面
- switchTab:跳转到tabBar页面,并关闭其他所有非tabBar页面
- reLaunch:关闭所有页面,打开到应用内的某个页面
- navigateBack:关闭当前页面,返回上一页面或多级页面
路径后可以带有参数,在onLoad(options)生命周期函数中获取传递的参数,但open-type=”switchTab”时不支持传参
scroll-view组件
可滚动视图区域,适用于需要滚动展示内容的场景,用于在小程序中实现类似于网页中的滚动条效果
- scroll-x:横向滚动
- scroll-y:纵向滚动
字体图标
在小程序中,我们推荐项目中不使用本地svg图标,而是从阿里的图标库中获取,导入样式文件之后在线引用
微信小程序的背景图不可以使用本地文件,可以使用网络格式或base64格式