微信小程序使用npm引入三方包详解

目录

      • [1 前言](#1 前言)
      • [2 微信小程序npm环境搭建](#2 微信小程序npm环境搭建)
        • [2.1 创建package.json文件](#2.1 创建package.json文件)
        • [2.2 修改 project.config.json](#2.2 修改 project.config.json)
        • [2.3 修改project.private.config.json配置](#2.3 修改project.private.config.json配置)
        • [2.4 构建 npm 包](#2.4 构建 npm 包)
        • [2.5 typescript 支持](#2.5 typescript 支持)
        • [2.6 安装组件](#2.6 安装组件)
        • [2.7 引入使用组件](#2.7 引入使用组件)

1 前言

从小程序基础库版本 2.2.1 或以上、及开发者工具 1.02.1808300 或以上开始,小程序支持使用 npm 安装第三方包。

此文档要求开发者们对 npm 有一定的了解,因此不会再去介绍 npm 的基本功能。如若之前未接触过 npm,请翻阅 官方 npm 文档 进行学习。

2 微信小程序npm环境搭建

2.1 创建package.json文件

目前新建的小程序项目都回有package.json文件,若没有该文件,直接在小程序项目根文件夹下,使用终端输入如下命令初始化环境:

shell 复制代码
npm init

注:使用该命令需要电脑安装好node环境;初次init直接一路回车即可

得到如下文件结构:

2.2 修改 project.config.json

开发者工具创建的项目,miniprogramRoot 默认为 miniprogrampackage.json 在其外部,npm 构建无法正常工作。

需要手动在 project.config.json 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。

json 复制代码
{
  ...
  "setting": {
    ...
    "packNpmManually": true,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./miniprogram/"
      }
    ]
  }
}

注意: 由于目前新版开发者工具创建的小程序目录文件结构问题,npm构建的文件目录为miniprogram_npm,并且开发工具会默认在当前目录下创建miniprogram_npm的文件名,所以新版本的miniprogramNpmDistDir配置为'./'即可

2.3 修改project.private.config.json配置

project.private.config.json文件配置会覆盖project.config.json文件配置,需要修改project.private.config.json里面的setting,初学者可以直接删除。

2.4 构建 npm 包

打开微信开发者工具,点击 工具 -> 构建 npm ,并勾选 使用 npm 模块 选项,构建完成后,即可引入组件。

2.5 typescript 支持

如果你使用 typescript 开发小程序,还需要做如下操作,以获得顺畅的开发体验。

安装 miniprogram-api-typings

bash 复制代码
# 通过 npm 安装
npm i -D miniprogram-api-typings

2.6 安装组件

本案例以vant组件为例,

shell 复制代码
# 通过 npm 安装
npm i @vant/weapp -S --production

2.7 引入使用组件

以 Button 组件为例,只需要在app.jsonindex.json中配置 Button 对应的路径即可。

所有组件文档中的引入路径均以 npm 安装为例,如果你是通过下载源代码的方式使用 @vant/weapp,请将路径修改为项目中 @vant/weapp 所在的目录。

json 复制代码
// 通过 npm 安装
// app.json
"usingComponents": {
  "van-button": "@vant/weapp/button/index"
}

引入组件后,可以在 wxml 中直接使用组件

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

如图效果:

至此,三方组件包引入成功

相关推荐
郑州拽牛科技2 小时前
家政保洁维修行业有没有必要做小程序?
大数据·微信小程序·小程序·系统架构·开源软件
行思理1 天前
微信小程序上如何使用图形验证码
微信小程序·小程序
Planck_Ho1 天前
uni-app 小程序表单校验错误自动滚动到错误位置
微信小程序·uni-app
油丶酸萝卜别吃1 天前
微信小程序中配置不同的环境变量,并依据环境变量编写API接口请求文件
微信小程序·小程序·notepad++
lfq7612042 天前
微信小程序接入DeepSeek模型(火山方舟),并在视图中流式输出
微信小程序·小程序·deepseek
java1234_小锋2 天前
[免费]微信小程序(校园)二手交易系统(uni-app+SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
spring boot·微信小程序·uni-app·java毕业设计·二手交易·微信小程序二手交易
gurenchang2 天前
微信小程序点击按钮,将图片下载到本地
微信小程序·小程序
橘猫云计算机设计2 天前
基于微信小程序的疫情互助平台(源码+lw+部署文档+讲解),源码可白嫖!
java·大数据·开发语言·spring boot·微信小程序·小程序·汽车
千里码aicood2 天前
[含文档+PPT+源码等]精品基于Python实现的微信小程序的在线医疗咨询系统
微信小程序·小程序
V+zmm101342 天前
美食推荐系统的微信小程序+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计