在小程序开发中使用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 相关文章推荐
ajax异步刷新实现更新数据库
Dec 03 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
JavaScript中textRange对象使用方法小结
Mar 24 Javascript
jquery获取多个checkbox的值异步提交给php
Jul 07 Javascript
详解AngularJs中$resource和restfu服务端数据交互
Sep 21 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
Dec 05 Javascript
微信小程序 侧滑删除(左滑删除)
May 23 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
Sep 13 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
vuex Module将 store 分割成模块的操作
Dec 07 Vue.js
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
浅谈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中利用XML技术构造远程服务(下)
2006/10/09 PHP
Session保存到数据库的php类分享
2011/10/24 PHP
php中动态变量用法实例
2015/06/10 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
php服务器的系统详解
2019/10/12 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
详解jquery和vue对比
2019/04/16 jQuery
layui表格数据复选框回显设置方法
2019/09/13 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
深圳茁壮笔试题
2015/05/28 面试题
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
行政人员岗位职责
2013/12/08 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
cf战队收人广告词
2014/03/14 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
科学发展观标语
2014/10/08 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
增值税发票丢失证明
2015/06/19 职场文书
文化苦旅读书笔记
2015/06/29 职场文书
《静夜思》教学反思
2016/02/17 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis