在小程序开发中使用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 相关文章推荐
ie和firefox中img对象区别的困惑
Dec 27 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
Nov 25 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
js 实现css风格选择器(压缩后2KB)
Jan 12 Javascript
仿百度输入框智能提示的js代码
Aug 22 Javascript
asp.net刷新本页面的六种方法总结
Jan 07 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
在JS方法中返回多个值的方法汇总
May 20 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
Sep 08 Javascript
layer.confirm取消按钮绑定事件的方法
Aug 17 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 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
杏林同学录(七)
2006/10/09 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
解析php框架codeigniter中如何使用框架的session
2013/06/24 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
跟老齐学Python之变量和参数
2014/10/10 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
汽车运用工程毕业生自荐信
2013/10/29 职场文书
幼儿园中秋节活动方案
2014/02/06 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS