在小程序开发中使用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 相关文章推荐
JS面向对象、prototype、call()、apply()
May 14 Javascript
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
jquery 防止表单重复提交代码
Jan 21 Javascript
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 Javascript
jquery等待效果示例
May 01 Javascript
原生JS实现LOADING效果
Mar 16 Javascript
jQuery添加和删除指定标签的方法
Dec 16 Javascript
String字符串截取的四种方式总结
Nov 28 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
Dec 25 Javascript
微信小程序表单弹窗实例
Jul 19 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 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 self与$this的详解
2013/06/08 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
JQuery toggle使用分析
2009/11/16 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
Python下singleton模式的实现方法
2014/07/16 Python
python实现无证书加密解密实例
2014/10/27 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
通过代码实例了解Python异常本质
2020/09/16 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
银行开业庆典方案
2014/02/06 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
学校重阳节活动总结
2015/03/24 职场文书
获奖感言一句话
2015/07/31 职场文书
社会心理学学习心得体会
2016/01/22 职场文书