在小程序开发中使用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 Tab插件 用于在Tab中显示iframe,附源码和详细说明
Jun 27 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
jquery批量设置属性readonly和disabled的方法
Jan 24 Javascript
javascript实现的固定位置悬浮窗口实例
Apr 30 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
jquery遍历table的tr获取td的值实现方法
May 19 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 Javascript
基于bootstrap实现多个下拉框同时搜索功能
Jul 19 Javascript
Angular整合zTree的示例代码
Jan 24 Javascript
使用vue中的混入mixin优化表单验证插件问题
Jul 02 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用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
React中的render何时执行过程
2018/04/13 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
绩效工资分配方案
2014/01/18 职场文书
促销活动计划书
2014/05/02 职场文书
创意婚礼策划方案
2014/05/18 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
演讲稿开场白台词
2014/08/25 职场文书
家属答谢词
2015/01/05 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
离婚案件原告代理词
2015/05/23 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫