在小程序开发中使用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获得选中文本内容的方法
Dec 02 Javascript
JavaScript 对象、函数和继承
Jul 07 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
Jul 29 Javascript
使用requestAnimationFrame实现js动画性能好
Aug 06 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
May 18 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 Javascript
深入理解vue中的$set
Jun 01 Javascript
layui前端框架之table表数据的刷新方法
Aug 17 Javascript
关于vue.js中实现方法内某些代码延时执行
Nov 14 Javascript
写给新手同学的vuex快速上手指北小结
Apr 14 Javascript
JS删除对象中某一属性案例详解
Sep 08 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
zend framework文件上传功能实例代码
2013/12/25 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
JavaScript中常用的运算符小结
2012/01/18 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
setTimeout学习小结
2017/02/08 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
vue.js学习笔记之v-bind和v-on解析
2018/05/03 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
Python选课系统开发程序
2016/09/02 Python
Python IDLE入门简介
2017/12/08 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
python库matplotlib绘制坐标图
2019/10/18 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
html5唤起app的方法
2017/11/30 HTML / CSS
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
三八妇女节寄语
2015/02/27 职场文书
护士自荐信怎么写
2015/03/06 职场文书
人生感悟经典句子
2019/08/20 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python
Java后台生成图片的完整步骤
2021/08/04 Java/Android