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

2023-11-15

1 前言

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

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

2 微信小程序npm环境搭建

2.1 创建package.json文件

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

npm init

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

得到如下文件结构:

在这里插入图片描述

2.2 修改 project.config.json

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

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

{
  ...
  "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 模块 选项,构建完成后,即可引入组件。

在这里插入图片描述
注:若按照以上步骤构建,仍然出现构建报错,则看一下project.config.json文件中是否有如下配置:

    "useCompilerPlugins": [
      "typescript"
    ]

有的话直接进行删除,在尝试重新构建

2.5 typescript 支持

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

安装 miniprogram-api-typings

# 通过 npm 安装
npm i -D miniprogram-api-typings
2.6 安装组件

本案例以vant组件为例,

# 通过 npm 安装
npm i @vant/weapp -S --production
2.7 引入使用组件

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

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

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

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

<van-button type="primary">按钮</van-button>

如图效果:

在这里插入图片描述

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序使用npm引入三方包详解 的相关文章

随机推荐

  • 无代码编程时代下,程序员要失业了?

    中台之后 便是无代码编程 无代码编程是什么 开发流程是怎么样的 有何优缺点 无代码编程时代来了 就不需要程序员编写代码了吗 下面作者将跟大家聊聊无代码编程的那些事儿 规模化的组织 经常要面临这样的挑战 每个应用的基础设施是相同的 部分的代码
  • 修改 ~/.bashrc显示 git 当前分支

    vim bashrc git branch show configuration PS1 w git branch 2 gt dev null grep colrm 1 2 现在重新打开一个终端 就能看到所在的分支啦 转载于 https w
  • Vue按回车键进行搜索

    Vue项目按回车键进行搜索 最近有一个需求 为了用户方便进行搜索数据的时候不想点击搜索按钮 想要在表单内输入完成之后直接按回车键进行搜索 根据vue ElementUUi完成 下面直接上代码 一 第一种方法 1 现在el input里面添加
  • hibernate之关于Hibernate的一级、二级缓冲

    Hibernate 一级 二级缓冲 Hibernate缓冲按级别共分为两种 一级缓冲 Session 和二级缓冲 SessionFactory 有的也说是三种 还有一种是查询缓冲 当然 查询缓冲是依托于二级缓冲 ok 什么是缓冲 在内存里开
  • 【全网最细PAT题解】【PAT乙】1044 火星数字(测试点2,测试点4详细解释)

    题目链接 1044 火星数字 题目描述 火星人是以 13 进制计数的 地球人的 0 被火星人称为 tret 地球人数字 1 到 12 的火星文分别为 jan feb mar apr may jun jly aug sep oct nov d
  • Bigdata1234.cn Java 课堂测试

    Java源文件中有一个公共类名称为Test 则该源文件名必须是 Test java Java中的基本数据类型共有8个 byte short int long float double char boolean Eclipse中内容补全的快捷
  • String的基本操作函数

    string类的构造函数 string const char s 用c字符串s初始化 string int n char c 用n个字符c初始化 此外 string类还支持默认构造函数和复制构造函数 如string s1 string s2
  • 错误解决:liquibase.exception.LockException

    今天发现个错误liquibase exception LockException 网上解决方法 url http forum liquibase org topic lock is not released if nocount is on
  • 全网最全C盘清理指南,无需安装清理软件,值得收藏

    最近电脑运行卡顿 打开一看 原来C盘爆红了 找了一个b站的清理教程 此篇来做一个总结 会讲哪些能删哪些不能删 以及原因 无需安装如360 腾讯电脑管家之类的清理软件 原视频链接 up主 小宇Boihttps www bilibili com
  • 决策树模型

    决策树模型是机器学习的各种算法模型中比较好理解的一种模型 它的基本原理是通过对一系列问题进行if else的推导 最终实现相关决策 下图所示为一个典型的决策树模型 员工离职预测模型的简单演示 该决策树首先判断员工满意度是否小于5 若答案为
  • TCL命令

    目录 list命令 concat命令 lindex命令 llength命令 linsert命令 lreplace命令 lrange命令 lappend命令 lsearch命令 lsort命令 split命令 join命令 list命令 li
  • JSP webshell免杀——JSP的基础

    唉 每次开启JSP都要好一会儿 话说我也不知道为啥 我的每次开启条件一次比一次苛刻 一开始必应就可以打开 再后来只能由谷歌打开 现在可好了得开着代理用谷歌才能进去 一个JSP页面可由5种元素组合而成 1 普通的HTML标记和JavaScri
  • 梳理半月有余,精心准备了17张知识思维导图,这次要讲清统计学

    想要学好数据分析 统计学是必学的基础课程 统计学看似简单 实则知识多而繁杂 对于初学小白来说更是不知所措 理不清知识架构体系 为了让大家对统计学有更加清晰地认识 我总结了17 张 统计学知识思维导图 今天分享给大家 图片上传后会自动压缩 如
  • Nuxt3打包部署到Linux(node+pm2详细安装运行步骤)

    小聊 最近写了一个项目 需要打包部署 过程还是比较繁琐的 因为需要先配置运行环境 准备采用 pm2 管理项目运行 需要在服务器安装 pm2 而安装 pm2 的话用 npm 命令最方便 所以还要下载 node 环境 那么 就让我们一步步的完成
  • Nmap扫描原理与用法

    Nmap扫描原理与用法 2012年6月16日 1 Nmap介绍 Nmap扫描原理与用法PDF 下载地址 Nmap是一款开源免费的网络发现 Network Discovery 和安全审计 Security Auditing 工具 软件名字Nm
  • ‘mvn‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件——解决方法(详解,亲测有效)

    错误原因 配置Maven环境变量出现问题 解决方法 以windows 10为例子 步骤一 此电脑 属性 高级系统设置 环境变量 系统变量 新建 变量名 M2 HOME 变量值 D install maven apache maven 3 5
  • jq和vue的区别

    1 从jquery到vue的转变是一个思想想的转变 就是将原有的直接操作dom的思想转变到操作数据上去 2 传统前端开发模式中是以jq为核心的 而vue是现在一个兴起的前端js库 是一个精简的MVVM 3 jQuery是使用选择器 选取DO
  • spring boot定时任务方式

    一 定时任务实现的几种方式 Timer jdk util自带的Timer类 可以调度一个java util TimerTask任务 只能设定任务按照某个频度执行 但不能按设定时间运行 ScheduledExecutorService jdk
  • 使用Python进行测试驱动开发

    作者 Jason Diamond 译者 吴海燕 原文发表日期 12 02 2004 翻译日期 2 17 2005 原文件位置 http www onlamp com pub a python 2004 12 02 tdd pyunit ht
  • 微信小程序使用npm引入三方包详解

    目录 1 前言 2 微信小程序npm环境搭建 2 1 创建package json文件 2 2 修改 project config json 2 3 修改project private config json配置 2 4 构建 npm 包