微信小程序-使用npm包

小程序对npm的支持与限制

目前,小程序中已经支持使用npm安装第三方包,从而来提高小程序的开发效率。但是,在小程序中使用npm包有如下3个限制:

(1)不支持依赖于Node.js内置库的包

(2)不支持依赖于浏览器内置对象的包

(3)不支持依赖于C++插件的包

总结:虽然npm上的包有千千万,但是能供小程序使用的包却"为数不多"。

Vant Weapp

1.什么是Vant Weapp

Vant Weapp是有赞前端团队开源的一套小程序UI组件库,助力开发者快速搭建小程序应用。它所使用的是MIT开源许可协议,对商业使用比较友好。

官方文档地址:介绍 - Vant Weapp

2.安装Vant组件库

在小程序项目中,安装Vant组件库主要分为如下3步:

(1)通过npm安装(建议指定版本为@1.3.3)

(2)构建npm包

(3)修改app.json

示例:

打开命令行,输入命令

点击小程序的资源管理器空白区域,右键,点击在外部终端窗口中打开(或在内建终端中打开)

E:\web_work\weixin\miniprogram-1>npm init -y

Wrote to E:\web_work\weixin\miniprogram-1\package.json:

{

"name": "miniprogram-1",

"version": "1.0.0",

"description": "",

"main": "app.js",

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1"

},

"keywords": \[\],

"author": "",

"license": "ISC"

}

E:\web_work\weixin\miniprogram-1>npm i @vant/weapp@1.3.3 -S --production

npm WARN config production Use `--omit=dev` instead.

added 1 package in 3s

修改 app.json

将 app.json 中的 "style": "v2" 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。

步骤三 构建 npm 包(老版本微信开发者工具需要)

打开微信开发者工具,点击 工具 -> 构建 npm,

详细的操作步骤,大家可以参考Vant官方提供的快速上手教程:

快速上手 - Vant Weapp

3.使用Vant组件

安装完Vant组件库之后,可以在app.json的usingComponents节点中引入需要的组件,即可在wxml中直接使用组件。示例代码如下:

引入

在app.json或index.json中引入组件,详细介绍见快速上手。

复制代码
"usingComponents": {
  "van-button": "@vant/weapp/button/index"
}

wxml中使用

复制代码
<van-button type="info">按钮</van-button>

4.定制全局主题样式

Vant Weapp使用CSS变量来实现定制主题。关于CSS变量的基本用法,请参考MDN文档:

使用 CSS 自定义属性(变量) - CSS:层叠样式表 | MDN

5.定制全局主题样式

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

Vant Weapp 使用 CSS 变量组织样式,在 app.wxss 里写入变量即可全局生效。

复制代码
/* app.wxss */
page {
  /* 以按钮主色为例,将默认绿色改为红色 */
  --button-primary-background-color: #ee0a24;
  --button-primary-border-color: #ee0a24;
  
  /* 也可以修改其他全局变量,如主色调 */
  --color-primary: #ee0a24;
}

在 GitHub 上打开 packages/common/style/var.less 即可查看到完整的变量列表,变量名去掉 @ 前缀、加上 -- 就是对应的 CSS 变量名。

使用npm包-API Promise化

1.基于回调函数的异步API的缺点

默认情况下,小程序官方提供的异步API都是基于回调函数实现的,例如,网络请求的API需要安装如下的方式调用:

缺点:容易造成回调地域的问题,代码的可读性,维护性差!

2.什么是API Promise化

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

3.实现API Promise化

相关推荐
L1mbo1 小时前
Lite模式 缓解微信开发者工具卡顿,附 uni-app 实践方案
前端·微信小程序
caoliaoerweima4 小时前
草料二维码小程序上线活码编辑器:手机上也能编辑活码了
智能手机·小程序·编辑器·草料二维码
周杰伦的稻香14 小时前
Hexo 腾讯视频追剧页插件:hexo-tengxun-eucalyptus 安装使用
npm
大数据技术派15 小时前
等了一周,我的摸鱼小程序终于微信认证通过了
微信小程序
CSharp精选营2 天前
记一次家庭物品管理的折腾:从“收纳”到“可检索”
微信小程序·aicoding·屋册有序·物品收纳管理·家庭收纳管理工具
dreams_dream3 天前
微信小程序:页面事件-上拉触底
微信小程序·小程序
鹏多多3 天前
AI 到底能不能独立做个产品?我拿一个小程序验证了
前端·微信小程序·ai编程
wafrdggh4 天前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序
计算机毕设定制辅导-无忧学长4 天前
《基于微信小程序的居家医疗陪护预约系统设计与实现》
java·spring boot·微信小程序·uniapp·居家医疗陪护预约系统