微信小程序代碼中的可優(yōu)化項(xiàng)分析及優(yōu)化建議
微信小程序在完成開(kāi)發(fā)之后,需要經(jīng)過(guò)不過(guò)的優(yōu)化,最終通過(guò)審核才能正式發(fā)布。開(kāi)發(fā)者可通過(guò)開(kāi)發(fā)者工具中的性能掃描工具提前發(fā)現(xiàn)代碼中的可優(yōu)化項(xiàng)進(jìn)行全面優(yōu)化,以免在審核過(guò)程中被駁回,影響發(fā)布進(jìn)度。
微信小程序代碼中的可優(yōu)化項(xiàng)分析及優(yōu)化建議:
1)代碼包不包含插件大小超過(guò)1.5M
優(yōu)化建議:小程序代碼包單個(gè)包大小限制為2M。因此我們建議開(kāi)發(fā)者在開(kāi)發(fā)時(shí),如果遇到單包體積大于1.5M的情況,可以采取分包的方式,把部分代碼拆分到分包去,降低單個(gè)包的體積,提升小程序的加載速度。
2)圖片和音頻資源大小超過(guò)200K
優(yōu)化建議:小程序代碼包里可以存放一些必要的靜態(tài)資源(例如tabbar的icon等),不過(guò)靜態(tài)資源體積過(guò)大也會(huì)影響小程序代碼包加載速度。因此我們建議圖片、音頻等靜態(tài)資源體積大小超過(guò)200K時(shí),將它們上傳到CDN,用URL引入會(huì)是個(gè)更好的選擇。
3)主包存在僅被其他分包依賴的JS
優(yōu)化建議:當(dāng)主包里存在一些JS文件只會(huì)被分包使用(而主包自己不使用)時(shí),我們建議把這些JS文件從主包中拆分出去,放到對(duì)應(yīng)的分包里,從而優(yōu)化主包的加載速度。
4)主包存在僅被其他分包依賴的組件
優(yōu)化建議:當(dāng)主包里存在一些組件只會(huì)被分包使用(而主包自己不使用)時(shí),我們建議把這些組件從主包拆分出去,并且可以使用分包異步化 這個(gè)特性加載這些組件,從而優(yōu)化主包的加載速度。
5)存在無(wú)使用的插件
優(yōu)化建議:如果有無(wú)使用的插件,請(qǐng)將其從 app.json 中去除。不然它會(huì)占用代碼包體積,也會(huì)延遲代碼包加載的時(shí)間。
6)存在無(wú)使用的組件
優(yōu)化建議:如果在對(duì)應(yīng)頁(yè)面JSON的 `usingComponents` 里聲明的組件但是沒(méi)有使用,請(qǐng)將其從 `usingComponents` 里去除。
7)未開(kāi)啟JS壓縮
優(yōu)化建議:在工具「詳情」-「本地設(shè)置」中開(kāi)啟「上傳代碼時(shí)自動(dòng)壓縮腳本文件的設(shè)置。
8)未開(kāi)啟WXML壓縮
優(yōu)化建議:在工具「詳情」-「本地設(shè)置」中開(kāi)啟「上傳代碼時(shí)自動(dòng)壓縮wxml文件的設(shè)置。
9)未開(kāi)啟WXSS壓縮
優(yōu)化建議:在工具「詳情」-「本地設(shè)置」中開(kāi)啟「上傳代碼時(shí)自動(dòng)壓縮樣式文件的設(shè)置
10)存在無(wú)依賴文件
優(yōu)化建議:在「代碼質(zhì)量」面板,點(diǎn)擊「建議去除」后,可以打開(kāi)代碼依賴分析面板的「無(wú)依賴文件」頁(yè)面,這里可以看到代碼包里沒(méi)有被用到的文件。請(qǐng)?jiān)诖a包中去除這部分文件,減小體積并優(yōu)化加載速度。
在本地開(kāi)發(fā)的過(guò)程中,會(huì)自動(dòng)過(guò)濾無(wú)依賴的文件,如果出現(xiàn)誤過(guò)濾的情況,可以在 project.config.json 的 setting 字段中添加 ignoreDevUnusedFiles 為 false,也可以在 packOptions 的 include 字段中手動(dòng)將被忽略的文件引入,同時(shí)歡迎發(fā)帖反饋誤報(bào)的情況提交代碼片段幫助我們完善此功能
注意:頁(yè)面若為配置在 app.json 中,將被識(shí)別為無(wú)依賴文件
11)未開(kāi)啟組件懶注入(按需注入)
優(yōu)化建議:在 app.json 中加入 `”lazyCodeLoading”: “requiredComponents”` 可以開(kāi)啟小程序組件按需注入特性。
版權(quán)聲明:
本站所有文章和圖片均來(lái)自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系網(wǎng)站客服處理。