微信小程序开发优化
一、开发优化一
1.使用Vant Weapp
1.1 什么是Vant Weapp
- Vant Weapp是有赞前端团队开源的一套小程序UI组件库,助力开发者快速搭建小程序应用。它所使用的是MIT开源许可协议,对商业使用比较友好。
1.2 安装Vant Weapp组件库
- 在小程序项目中,安装组件库步骤如下:
npm i @vant/weapp -S --production- 构建npm包
- 修改app.json,将 app.json 中的
"style": "v2"移除
1.3 使用Vant Weapp组件库
引入组件
以 Button 组件为例,只需要在
app.json或index.json中配置 Button 对应的路径即可。所有组件文档中的引入路径均以 npm 安装为例,如果你是通过下载源代码的方式使用 @vant/weapp,请将路径修改为项目中 @vant/weapp 所在的目录。
// 通过 npm 安装
// app.json
"usingComponents": {
"van-button": "@vant/weapp/button/index"
}
使用组件
引入组件后,可以在 wxml 中直接使用组件
<van-button type="primary">按钮</van-button>
1.4 使用css变量定制主题样式
- 在app.wxss中,写入CSS变量,即可对全局生效。
二、开发优化二
1.API的Promise化
1.1 什么是API的Promise化
- API Promise化,指的是通过额外的配置,将官方提供的、基于回调函数的异步API,升级改造为基于Promise的异步API,从而提高代码的可读性、维护性,避免回调地狱的问题。
1.2 实现API的Promise化
在小程序中,实现API Promise化主要依赖于
miniprogram-api-promise这个第三方的npm包。它的安装和使用步骤如下:安装:
npm install --save miniprogram-api-promise@1.0.4// 在小程序入口文件中(app.js),只需调用一次 promisifyAll() 方法
// 即可实现异步API的Promise化
import { promisifyAll } from 'miniprogram-api-promise'
const wxp = wx.p = {}
promisifyAll(wx, wxp)
注:安装完每个包之后需要重新构建,在对应文件夹下强制删除miniprogram_npm,然后在工具中重新构建npm。
1.3 调用Promise化之后的异步API
// 页面的 .wxml 结构
<van-button type="danger" bindtap="getInfo">vant按钮</van-button>
// 在页面的 .js 文件中,定义对应的事件处理函数
async getInfo () {
const { data: res } = await wx.p.request({
method: 'GET',
url: 'https://www.escook.cn/api/get',
data: {
name: 'zs',
age: 20
}
})
console.log(res)
}
三、开发优化三
1.全局数据共享
1.1 小程序中的全局共享方案

1.2 小程序全局数据共享MobX步骤
四、开发优化四
1.分包
五、提高微信小程序的应用速度的方法
1.小程序启动加载性能
- 控制代码包的大小
- 分包加载
- 首屏体验(预请求,利用缓存,避免白屏,及时反馈)
2.小程序渲染性能
- 避免不当的使用setData
- 使用自定义组件
- 自定义组件的更新并不会影响页面上其他元素的更新
微信小程序开发优化的更多相关文章
- 【微信小程序开发•系列文章六】生命周期和路由
这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...
- 微信小程序开发日记——高仿知乎日报(下)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...
- 微信小程序开发工具测评
1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...
- 微信小程序开发平台新功能「云开发」快速上手体验
微信小程序开发平台刚刚开放了一个全新的功能:云开发. 简单地说就是将开发人员搭建微信小程序后端的成本再次降低,此文刚好在此产品公测时,来快速上手看看都有哪些方便开发者的功能更新. 微信小程序一直保持一 ...
- 【微信】2.微信小程序开发--官方开发工具使用说明
承接第一篇 =============================================== 关于微信小程序开发使用IDE,曾经自己动摇过. 到底是采用 微信官方小程序开发工具 WebS ...
- 微信小程序开发:学习笔记[3]——WXSS样式
微信小程序开发:学习笔记[3]——WXSS样式 快速开始 介绍 WXSS(WeiXin Style Sheets)是一套用于小程序的样式语言,用于描述WXML的组件样式,也就是视觉上的效果. WXSS ...
- 让微信小程序开发如鱼得水
关于微信小程序开发一直想写一篇相关的文章总结和记录下,结果拖延症犯了迟迟没有下笔:这不最近天气不错,于是找一个空闲的下午将这篇文章输出下(好像跟天气没啥关系),那我们就开始吧! 注意:本文默认开发 ...
- 微信小程序开发心得
微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...
- 微信小程序开发日记——高仿知乎日报(中)
本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...
随机推荐
- 简单使用 MySQL 索引
MySQL 索引 1 什么是索引 在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令 MySQL 的查询和 运行更加高效. 如果合理的设计且使用索引的 MySQL 是一辆兰博基 ...
- CentOS 定时计划任务设置
一.安装crontab服务并设置开机自启 yum install crontabs (centos默认就会带,一般不需要安装) systemctl enable crond (设为开机启动) syst ...
- 第三天python3 字典
字典 dict 特点:key-value键值对的数据的集合 可变的.无序的.key不重复:非线性结构: 字典的初始化 d=dict() 或者 d = { } dict(**kwargs) 使用n ...
- Python 元类详解
一.Type介绍 在Python中一切皆对象,类它也是对象,而元类其实就是用来创建类的对象(由于一切皆对象,所以元类其实也是一个对象). 先来看这几个例子: 例1: In [1]: type(12) ...
- net core天马行空系列-各大数据库快速批量插入数据方法汇总
1.前言 hi,大家好,我是三合.我是怎么想起写一篇关于数据库快速批量插入的博客的呢?事情起源于我们工作中的一个需求,简单来说,就是有一个定时任务,从数据库里获取大量数据,在应用层面经过处理后再把结果 ...
- fiddler抓包手机请求(转)
http://ju.outofmemory.cn/entry/22854 从事前端开发的同学一定对Fiddler不陌生,它是一个非常强大的http(s)协议分析工具,如果你不知道它是什么,可以自行go ...
- C++ 练气期之函数探幽
1. 函数基础 一个C++程序中,往往需要包含若干个函数,可以说函数是C++程序的基础组成元件,是程序中的头等公民. 如果要理解程序中使用函数的具体意义,则需要了解语言发展过程中致力要解决的 2 问题 ...
- C++11实现可变参数泛型抽象工厂
- DTSE Tech Talk丨第3期:解密数据隔离方案,让SaaS应用开发更轻松
摘要:解读云上前沿技术,畅聊开发应用实践.专家团队授课,答疑解惑,助力开发者使用华为云开放能力进行应用构建.技术创新. 围绕当下许多企业青睐的SaaS应用开发,华为云DTSE技术布道师李良龙为大家带来 ...
- HTML引用CSS实现自适应背景图
链接图片背景代码 body {background: url('链接') no-repeat center 0;} 颜色代码 body{background:#FFF} 链接图片背景代码2 <b ...