在小程序开发中使用npm的方法


Posted in Javascript onOctober 17, 2018

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

1. 在小程序中加载 npm 包

npm install miniprogram-datepicker --production

node_modules可以 在小程序根目录下,也可以存在于小程序根目录下的各个子目录中。但是不可以 在小程序根目录外。使用--production选项,可以减少安装一些业务无关的 npm 包,从而减少整个小程序包的大小。

2. 构建 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的方法

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

在小程序开发中使用npm的方法

3.使用npm包

js 中引入 npm 包:

const package = require('packageName')

使用 npm 包中的自定义组件:

{
 "usingComponents": {
  "datepicker": "miniprogram-datepicker"
 }
}

miniprogram-datepicker组件运行效果

在小程序开发中使用npm的方法

其他

微信小程序npm支持文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
JS对象与JSON格式数据相互转换
Feb 20 Javascript
iframe子父页面调用js函数示例
Nov 07 Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 Javascript
重写document.write实现无阻塞加载js广告(补充)
Dec 12 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
May 17 Javascript
js实现可输入可选择的select下拉框
Dec 21 Javascript
微信小程序(三):网络请求
Jan 13 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
Fetch超时设置与终止请求详解
May 18 Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 Javascript
浅谈HTTP 缓存的那些事儿
Oct 17 #Javascript
使用angular-cli webpack创建多个包的方法
Oct 16 #Javascript
element-ui的回调函数Events的用法详解
Oct 16 #Javascript
基于vue-upload-component封装一个图片上传组件的示例
Oct 16 #Javascript
Postman的下载及安装教程详解
Oct 16 #Javascript
Vue.js 时间转换代码及时间戳转时间字符串
Oct 16 #Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 #Javascript
You might like
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
js闭包实例汇总
2014/11/09 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
Vue中props的使用详解
2018/06/15 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
Python写的英文字符大小写转换代码示例
2015/03/06 Python
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
爱国主义教育活动总结
2014/05/07 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
董存瑞观后感
2015/06/11 职场文书
思想工作总结范文
2015/08/12 职场文书
爱国主义主题班会
2015/08/14 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
教你怎么用Python监控愉客行车程
2021/04/29 Python