在小程序开发中使用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 相关文章推荐
javascript parseInt与Number函数的区别
Jan 21 Javascript
JS 数字转换研究总结
Dec 26 Javascript
js中通过父级进行查找定位元素
Jun 15 Javascript
JQuery创建DOM节点的方法
Jun 11 Javascript
jqueryMobile使用示例分享
Jan 12 Javascript
js学习笔记之事件处理模型
Oct 31 Javascript
jQuery实现图片滑动效果
Mar 08 Javascript
javascript高级模块化require.js的具体使用方法
Oct 31 Javascript
vue项目国际化vue-i18n的安装使用教程
Mar 14 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 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
用cookies来跟踪识别用户
2006/10/09 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
js获取Get值的方法
2016/09/29 Javascript
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
js实现打字小游戏
2019/12/17 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
详解python中@的用法
2019/03/27 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
python动态视频下载器的实现方法
2019/09/16 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
python文件操作的简单方法总结
2019/11/07 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
结婚喜宴主持词
2014/03/14 职场文书
园林技术专业求职信
2014/07/28 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
2015元旦标语横幅
2014/12/09 职场文书
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android