微信小程序在 2.2.1 版本后增加了對 npm 包加載的支持,使得小程序支持使用 npm 安裝第三方包。
1. 在小程序中加載 npm 包
npm install miniprogram-datepicker --production
node_modules可以 在小程序根目錄下,也可以存在于小程序根目錄下的各個子目錄中。但是不可以 在小程序根目錄外。使用--production選項(xiàng),可以減少安裝一些業(yè)務(wù)無關(guān)的 npm 包,從而減少整個小程序包的大小。
2. 構(gòu)建 npm 包
在微信小程序開發(fā)工具的「工具」菜單下點(diǎn)擊「構(gòu)建 npm」命令,進(jìn)行 npm 包的構(gòu)建,此構(gòu)建可以將 npm 包構(gòu)建成在小程序中可加載使用的包。
node_modules 目錄不會參與編譯、上傳和打包中,所以小程序想要使用 npm 包必須走一遍“構(gòu)建 npm”的過程,在最外層的 node_modules 的同級目錄下會生成一個 miniprogram_npm 目錄,里面會存放構(gòu)建打包后的 npm 包,也就是小程序真正使用的 npm 包。
構(gòu)建打包分為兩種:小程序 npm 包會直接拷貝構(gòu)建文件生成目錄下的所有文件到 miniprogram_npm 中;其他 npm 包則會從入口 js 文件開始走一遍依賴分析和打包過程(類似 webpack)。
尋找 npm 包的過程和 npm 的實(shí)現(xiàn)類似,從依賴 npm 包的文件所在目錄開始逐層往外找,直到找到可用的 npm 包或是小程序根目錄為止。
構(gòu)建完成后還需要確認(rèn)項(xiàng)目已勾選了「使用 npm 模塊」。
3.使用npm包
js 中引入 npm 包:
const package = require('packageName')
使用 npm 包中的自定義組件:
{ "usingComponents": { "datepicker": "miniprogram-datepicker" } }
miniprogram-datepicker組件運(yùn)行效果
其他
微信小程序npm支持文檔:https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com