news 2026/8/3 19:12:11

微信小程序开发教程 043 - 在小程序开发中使用 npm

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信小程序开发教程 043 - 在小程序开发中使用 npm

本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新。

微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发人员在熟悉了 npm 生态环境后,对微信小程序诟病的地方。

微信小程序在 2.2.1 版本后增加了对 npm 包加载的支持,使得小程序支持使用 npm 安装第三方包。

微信小程序的功能更新最近更新的也非常给力,如之前给大家介绍的微信小程序开发平台新功能「云开发」快速上手体验。

1. 在小程序中加载 npm 包

微信小程序关于 npm 包的加载使用官方文档在这里,此实战部分我们通过加载一个 npm 的第三方库miniprogram-datepicker
,此类库用于实现公历与农历的日期选择功能,而微信小程序官方的组件只能简单地选择一个公历时间。

在终端中定位到微信小程序的项目文件夹,通过 npm 的安装命令安装。

此处请务必使用 --production 选项,可以减少安装一些业务无关的 npm 包,从而减少整个小程序包的大小。

2. 构建 npm 包

在微信小程序开发工具的「工具」菜单下点击「构建 npm」命令,进行 npm 包的构建,此构建可以将 npm 包构建成在小程序中可加载使用的包。

为了帮助大家更好的理解发布 npm 包中提到的各种要求,这里简单介绍一下原理:

首先 node_modules 目录不会参与编译、上传和打包中,所以小程序想要使用 npm 包必须走一遍“构建 npm”的过程,在最外层的 node_modules 的同级目录下会生成一个 miniprogram_npm 目录,里面会存放构建打包后的 npm 包,也就是小程序真正使用的 npm 包。
构建打包分为两种:小程序 npm 包会直接拷贝构建文件生成目录下的所有文件到 miniprogram_npm 中;其他 npm 包则会从入口 js 文件开始走一遍依赖分析和打包过程(类似 webpack)。
寻找 npm 包的过程和 npm 的实现类似,从依赖 npm 包的文件所在目录开始逐层往外找,直到找到可用的 npm 包或是小程序根目录为止。

构建完成后还需要确认项目已勾选了「使用 npm 模块」。

3. 在项目中使用第三方模块

在我们之前实战项目中,在首页中测试下此 npm 模块的加载。

<view class="doc-container"> <view class="doc-title">今日精选</view> <datepicker value="{{solar}}" bindchange="bindSolarChange"> <button type="default">公历</button> </datepicker> <datepicker value="{{lunar}}" chinese="{{true}}" bindchange="bindLunarChange"> <button type="default">农历</button> </datepicker> <block wx:for="{{feeds}}" wx:key="{{item.ArticleId}}"> <view class="list" />

4. 项目笔记以及视频演示

此章节的配套视频教程在 微信小程序开发视频教程 #043 - 在小程序开发中使用 npm。
个人技术视频博客站点:https://devopen.club/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/3 19:10:24

MVC3缓存之三:MVC3中的局部缓存(Partial Page)

在之前的文章MVC3缓存之二&#xff1a;页面缓存中的局部动态中&#xff0c;没有注意到MVC3的版本中对输出缓存进行了修改&#xff0c;园友的评论中提及了此问题&#xff0c;所以又去抽时间看了下局部缓存的解决方案。 最后发现在发布的MVC3版本中&#xff0c;新增了一个叫做Par…

作者头像 李华
网站建设 2026/8/3 19:04:01

获取使用ClickOnce部署的应用程序的版本号

引子在编写使用ClickOnce部署的应用程序时&#xff0c;需要在程序的标题栏、软件变更记录、软件关于等页面读取显示当前的版本号。之前很傻瓜的做法就是在Resource中维护一个string值&#xff0c;在使用到的地方读取&#xff0c;有更新修改Resource即可。其实这样做也有一个好处…

作者头像 李华
网站建设 2026/8/3 19:02:21

VSCode 必装的 10 个高效开发插件

本文介绍了目前前端开发最受欢迎的开发工具 VSCode 必装的 10 个开发插件&#xff0c;用于大大提高软件开发的效率。 VSCode 的基本使用可以参考我的原创视频教程「VSCode 高效开发必装插件」。 VSCode&#xff08;Visual Studio Code&#xff09;是由微软研发的一款免费、开源…

作者头像 李华
网站建设 2026/8/3 19:01:17

Visual C++ MFC序列化实战:从原理到绘图应用开发

1. 项目概述&#xff1a;为什么我们需要序列化&#xff1f; 在桌面应用开发&#xff0c;尤其是使用Visual C进行Windows原生程序开发时&#xff0c;数据持久化是一个绕不开的核心话题。想象一下&#xff0c;你花了一下午时间在绘图软件里创作了一幅作品&#xff0c;或者在一个财…

作者头像 李华
网站建设 2026/8/3 19:00:23

华为OD机试免单统计题解:哈希表应用与多语言实现详解

1. 项目概述&#xff1a;从一道题看华为OD机试的“套路”最近在帮几个准备华为OD机试的朋友做模拟辅导&#xff0c;发现“免单统计”这道题出现的频率相当高&#xff0c;几乎成了必刷的经典题目之一。它本身难度适中&#xff0c;但非常考验候选人对基础数据结构、字符串处理、逻…

作者头像 李华
网站建设 2026/8/3 19:00:03

Webpack 2 视频教程 012 - 理解Webpack 中的 CSS 作用域与 CSS Modules

原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」。 Webpack 作为目前前端开发必备的框架&#xff0c;Webpack 发布了 2.0 版本&#xff0c;此视频就是基于 2.0 的版本讲解的。 这个基本就是目前国内最好的 Webpack 2.0 最好的学习视频了&#xff0c;…

作者头像 李华