微信小程序使用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>

如图效果:

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

相关推荐
tianxiaxue12 天前
微信小程序如何跟企微互通
微信小程序·小程序·企业微信
Greg_Zhong2 天前
微信小程序中canvas绘制面积图,解决手机和模拟器都能渲染不溢出问题
微信小程序·小程序canvas绘制面积图
Greg_Zhong3 天前
微信小程序中进度条总结
微信小程序·自定义进度条·slider进度条
这是个栗子4 天前
【微信小程序问题解决】删掉 “navigationStyle“: “custom“ 后仍触发了自定义导航栏
微信小程序·小程序·navigationstyle
liangdabiao4 天前
定制的乐高马赛克像素画生成器-微信小程序版本-AI 风格优化-一键完成所有工作
人工智能·微信小程序·小程序
编程小白gogogo4 天前
苍穹外卖微信小程序导入hbuilder后点击运行选择在微信开发者工具中打开,微信开发者工具打开却没有运行微信小程序解决办法
微信小程序·小程序
天籁晴空4 天前
微信小程序 静默登录 + 授权登录 双模式配合的设计方案
前端·微信小程序·uni-app
小徐_23335 天前
uni-app 组件库 Wot UI 2.0 发布了,我们带来了这些改变!
前端·微信小程序·uni-app
Greg_Zhong5 天前
微信小程序中实现自定义颜色选择器(简陋版对比精致版)
微信小程序·自定义颜色选择器面板
杰建云1675 天前
2026年第三方平台制作微信小程序多少钱?
微信小程序·小程序·小程序制作