小程序开发提效:npm支持、Vant Weapp组件库与API Promise化(八)

一、小程序对npm的支持与限制

3个限制:

1、不支持依赖Node.js内置库的包

2、不支持依赖浏览器内置对象的包

3、不支持依赖C++插件的包

二、Vant WeAPP

2.1 安装及使用

定义:Vant Weapp是有赞前端团队开源的一套小程序UI组件库;

作用:助力开发者快速搭建小程序应用;

使用的协议:MIT开源许可协议;

官方文档:Vant Weapp - 轻量、可靠的小程序 UI 组件库

搭建:Vant Weapp - 轻量、可靠的小程序 UI 组件库

2.2 定制全局主题样式

在app.wxss中定义page{},在page中定义全局主题颜色

参考:Vant Weapp - 轻量、可靠的小程序 UI 组件库 -->样式变量

https://github.com/youzan/vant-weapp/blob/dev/packages/common/style/var.less

复制代码
page {
  --button-danger-background-color:#c00000;
  --button-danger-border-color:#D60000;
}

三、API Promise化

3.1 定义

API Promise化,指的是通过额外的配置,将官方提供、基于回调函数的异步API,升级改造为基于Promise的一步API,从而提高代码的可读性、维护性、避免回调地狱的问题。

3.2 实现API Promise化

回调地狱:存在异步任务的代码,不能保证能按照顺序执行,只能在异步函数中调用异步函数;

解决的问题:回调地狱的问题

3.2.1 安装promise

1、install --save miniprogram-api-promise

2、删除miniprogram_npm,重新构建

3、构建npm,工具-->构建npm

3.2.2 实现promise化步骤

复制代码
// 导入promise
import { promisifyAll } from 'miniprogram-api-promise'
// 定义变量
const wxp = wx.p = {}
// 将wx转存wxp
promisifyAll(wx,wxp)

3.2.3 调用promise化后的一步API

复制代码
// async/await 代替异步函数回调
async getInfo() {
      const {data:res} = await wx.p.request({
        method: 'GET',
        url: 'https://www.escook.cn/api/get',
        data:{
          name:'zs',
          age:20
        }
      })
      console.info(res)

  }
相关推荐
JieE2126 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
runnerdancer7 小时前
LLM是怎么处理messages数组的,提示词缓存又是什么
前端·agent
陈随易8 小时前
VSCode的Copilot扩展支持接入DeepSeek,Kimi了!
前端·后端·程序员
我不是外星人9 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
candyTong9 小时前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
IT_陈寒12 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
Jackson__13 小时前
分享一个横向滚动案例,带悬停暂停,通用性很强
前端
MariaH13 小时前
git rebase的使用
前端
_柳青杨13 小时前
深入理解 JavaScript 事件循环
前端·javascript
阡陌Jony13 小时前
关于前端性能优化的一些问题:
前端