在小程序开发中使用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 相关文章推荐
用于table内容排序
Jul 21 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
Feb 03 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
Jun 18 Javascript
自学实现angularjs依赖注入
Dec 20 Javascript
webpack external模块的具体使用
Mar 10 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 01 Javascript
webpack-url-loader 解决项目中图片打包路径问题
Feb 15 Javascript
vue 强制组件重新渲染(重置)的两种方案
Oct 29 Javascript
使用p5.js临摹动态图片
Nov 04 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
浅谈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使用exec shell命令注入的方法讲解
2013/11/12 PHP
PHPMailer发送邮件
2016/12/28 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
很棒的vue弹窗组件
2017/05/24 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
python中的格式化输出用法总结
2016/07/28 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
Django 内置权限扩展案例详解
2019/03/04 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
《雨霖铃》听课反思
2014/02/13 职场文书
班级旅游计划书
2014/05/03 职场文书
捐书活动总结
2014/05/04 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
出国签证在职证明范本
2014/11/24 职场文书
六五普法学习心得体会
2016/01/21 职场文书