在小程序开发中使用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实例教程(19) 使用HoTMetal(4)
Dec 23 Javascript
javascript 面向对象全新理练之原型继承
Dec 03 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
每天一篇javascript学习小结(Function对象)
Nov 16 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
Dec 23 Javascript
WebSocket的通信过程与实现方法详解
Apr 29 Javascript
AngularJS日期格式化常见操作实例分析
May 17 Javascript
JavaScript惰性求值的一种实现方法示例
Jan 11 Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 Javascript
Javascript之高级数组API的使用实例
Mar 08 Javascript
vue-router源码之history类的浅析
May 21 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
zf框架db类的分页示例分享
2014/03/14 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
用Node.js通过sitemap.xml批量抓取美女图片
2015/05/28 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
深入理解React高阶组件
2017/09/28 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
Python threading多线程编程实例
2014/09/18 Python
初步讲解Python中的元组概念
2015/05/21 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
python实现随机漫步算法
2018/08/27 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
北大青鸟学生求职信
2013/09/24 职场文书
大学信息公开实施方案
2014/03/09 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
小学生综合素质评语
2014/04/23 职场文书
高一学生评语大全
2014/04/25 职场文书
大学活动总结范文
2014/04/29 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书