微信小程序中使用 npm 包 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

微信小程序中使用 npm 包

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:33

背景

最近在一个微信小程序项目中需要用到基于npm构建的组件,官方文档写的比较模糊,导致经常构建失败,一番采坑后,终于搞懂了,特此留文🚀🚀🚀。

官方文档

从小程序基础库版本 2.2.1 或以上、及开发者工具 1.02.1808300 或以上开始,小程序支持使用 npm 安装第三方包。
在小程序 package.json 所在的目录中执行命令安装 npm 包
npm install
此处要求参与构建 npm 的 package.json 需要在 project.config.js 定义的 miniprogramRoot 之内。

然而基于官文一番操作后,点击工具-构建总是提示构建失败。😏
在这里插入图片描述

解决

采坑后,解决方案如下:

  1. 打开微信小程序终端(终端在调试器最右边在这里插入图片描述
  2. 进入项目所在的目录后(与app.json平级),新建一个miniprogramRoot文件夹。mkdir miniprogramRoot
  3. 然后cd miniprogramRoot执行 npm install(没有安装过 node 的需要先安装一下),会生成一个 package-lock.json
  4. package-lock.json改成package.json
  5. 安装需要安装的 node 包,例如npm i @vant/weapp -S --production
  6. 点击**工具-构建**,并且在小程序编辑器详情的配置项里面勾选使用 npm 模块就ok 了
  7. miniprogramRoot的目录如下
.
├── miniprogram_npm
│   └── @vant
├── node_modules
│   └── @vant
├── package-lock.json
└── package.json
  1. 最后在对应的 json 文件,比如test.json引用组件即可。(需要手动修改一下组件的引用路径)
{
  "usingComponents": {
    "van-button": "../miniprogramRoot/miniprogram_npm/@vant/weapp/button/index"
  }
}

总结

安装的 node 包和 page.json必须要在miniprogramRoot这个文件夹里面才能构建成功!

相关案例查看更多