小程序开发提效: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)

  }
相关推荐
雨枪幻。27 分钟前
spring boot开发:一些基础知识
开发语言·前端·javascript
lecepin1 小时前
AI Coding 资讯 2025.8.27
前端·ai编程
TimelessHaze1 小时前
拆解字节面试题:async/await 到底是什么?底层实现 + 最佳实践全解析
前端·javascript·trae
执键行天涯2 小时前
从双重检查锁定的设计意图、锁的作用、第一次检查提升性能的原理三个角度,详细拆解单例模式的逻辑
java·前端·github
青青子衿越2 小时前
微信小程序web-view嵌套H5,小程序与H5通信
前端·微信小程序·小程序
OpenTiny社区2 小时前
TinyEngine 2.8版本正式发布:AI能力、区块管理、Docker部署一键强化,迈向智能时代!
前端·vue.js·低代码
qfZYG2 小时前
Trae 编辑器在 Python 环境缺少 Pylance,怎么解决
前端·vue.js·编辑器
bug爱好者2 小时前
Vue3 基于Element Plus 的el-input,封装一个数字输入框组件
前端·javascript
Silence_xl2 小时前
RACSignal实现原理
前端
柯南二号2 小时前
【大前端】实现一个前端埋点SDK,并封装成NPM包
前端·arcgis·npm