在小程序开发中使用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插件实现表格隔行换色且感应鼠标高亮行变色
Sep 22 Javascript
event对象获取方法总结在google浏览器下测试
Nov 03 Javascript
Javascript让DEDECMS告别手写Tag
Sep 01 Javascript
js 获取元素在页面上的偏移量的方法汇总
Apr 13 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
Jan 26 Javascript
第一次接触神奇的Bootstrap基础排版
Jul 26 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
Jan 04 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
Jul 24 Javascript
layui获取多选框中的值方法
Aug 15 Javascript
Vuejs开发环境搭建及热更新【推荐】
Sep 07 Javascript
一文了解Vue中的nextTick
May 06 Javascript
javascript的hashCode函数实现代码小结
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简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
javascript 支持链式调用的异步调用框架Async.Operation
2009/08/04 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
巧用canvas
2017/01/21 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
浅谈Vue.js应用的四种AJAX请求数据模式
2017/08/30 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
python类装饰器用法实例
2015/06/04 Python
python编写弹球游戏的实现代码
2018/03/12 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
Python基于template实现字符串替换
2020/11/27 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
财务担保书范文
2014/04/02 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
作风建设剖析材料
2014/10/06 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
Django rest framework如何自定义用户表
2021/06/09 Python