在小程序开发中使用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 获取图片颜色
Apr 05 Javascript
js 操作符实例代码
Oct 24 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
JavaScript中提前声明变量或函数例子
Nov 12 Javascript
JavaScript中return false的用法
Mar 12 Javascript
Highcharts使用简例及异步动态读取数据
Dec 30 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
js select下拉联动 更具级联性!
Apr 17 Javascript
JavaScript的六种继承方式(推荐)
Jun 26 Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
p5.js入门教程之键盘交互
Mar 19 Javascript
vue 使用 canvas 实现手写电子签名
Mar 06 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下删除字符串中HTML标签的函数
2008/08/27 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
原生js实现购物车
2020/09/23 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
pyside写ui界面入门示例
2014/01/22 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
python中的json总结
2018/10/11 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
python字符串查找函数的用法详解
2019/07/08 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
如何理解python对象
2020/06/21 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
广州迈达威.net面试题目
2012/03/10 面试题
软件测试工程师面试问题精选
2016/10/28 面试题
新闻专业应届生求职信
2013/10/31 职场文书
加工操作管理制度
2014/01/19 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书