微信小程序在 2.2.1 版本后增加了對(duì) npm 包加載的支持,使得小程序支持使用 npm 安裝第三方包。
1. 在小程序中加載 npm 包
npm install miniprogram-datepicker --production
node_modules可以 在小程序根目錄下,也可以存在于小程序根目錄下的各個(gè)子目錄中。但是不可以 在小程序根目錄外。使用--production選項(xiàng),可以減少安裝一些業(yè)務(wù)無(wú)關(guān)的 npm 包,從而減少整個(gè)小程序包的大小。
2. 構(gòu)建 npm 包
在微信小程序開(kāi)發(fā)工具的「工具」菜單下點(diǎn)擊「構(gòu)建 npm」命令,進(jìn)行 npm 包的構(gòu)建,此構(gòu)建可以將 npm 包構(gòu)建成在小程序中可加載使用的包。
node_modules 目錄不會(huì)參與編譯、上傳和打包中,所以小程序想要使用 npm 包必須走一遍“構(gòu)建 npm”的過(guò)程,在最外層的 node_modules 的同級(jí)目錄下會(huì)生成一個(gè) miniprogram_npm 目錄,里面會(huì)存放構(gòu)建打包后的 npm 包,也就是小程序真正使用的 npm 包。
構(gòu)建打包分為兩種:小程序 npm 包會(huì)直接拷貝構(gòu)建文件生成目錄下的所有文件到 miniprogram_npm 中;其他 npm 包則會(huì)從入口 js 文件開(kāi)始走一遍依賴(lài)分析和打包過(guò)程(類(lèi)似 webpack)。
尋找 npm 包的過(guò)程和 npm 的實(shí)現(xiàn)類(lèi)似,從依賴(lài) npm 包的文件所在目錄開(kāi)始逐層往外找,直到找到可用的 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)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com