開發(fā)者可通過開發(fā)者工具中的性能掃描工具提前發(fā)現(xiàn)代碼中的可優(yōu)化項(xiàng):
1. 代碼包不包含插件大小超過 1.5 M
【建議】小程序代碼包單個包大小限制為2M。因此我們建議開發(fā)者在開發(fā)時,如果遇到單包體積大于1.5M的情況,可以采取分包的方式,把部分代碼拆分到分包去,降低單個包的體積,提升小程序的加載速度。具體可以查看文檔《使用分包》。
2. 引用插件大小超過 200 K
【知會】小程序插件的大小是會算進(jìn)小程序代碼包2M體積限制中的。因此當(dāng)我們發(fā)現(xiàn)開發(fā)者引用的插件體積大于200K時,會對開發(fā)者予以提示,避免出現(xiàn)上傳階段提示代碼包體積超限,但是不知道為何超限的問題。
3. 圖片和音頻資源大小超過 200 K
【建議】小程序代碼包里可以存放一些必要的靜態(tài)資源(如tabbar的icon等);但其他非必要的靜態(tài)資源體積過大會影響小程序代碼包加載速度。因此我們建議圖片、音頻等靜態(tài)資源體積大小超過200K時,將它們上傳到CDN,用URL引入會是個更好的選擇。
4. 主包存在僅被其他分包依賴的JS
【建議】當(dāng)主包里存在一些JS文件只會被分包使用(而主包自己不使用)時,我們建議把這些JS文件從主包中拆分出去,放到對應(yīng)的分包里,從而優(yōu)化主包的加載速度。
5. 主包存在僅被其他分包依賴的組件
【建議】當(dāng)主包里存在一些組件只會被分包使用(而主包自己不使用)時,我們建議把這些組件從主包拆分出去,并且可以使用 分包異步化 這個特性加載這些組件,從而優(yōu)化主包的加載速度。
6. 存在無使用的插件
【必須】如果有無使用的插件,請將其從 app.json 中去除。不然它會占用代碼包體積,也會延遲代碼包加載的時間。
7. 存在無使用的組件
【必須】如果在對應(yīng)頁面JSON的 `usingComponents` 里聲明的組件但是沒有使用,請將其從 `usingComponents` 里去除。
8. 未開啟JS壓縮
【必須】在工具「詳情」-「本地設(shè)置」中開啟「上傳代碼時自動壓縮腳本文件」的設(shè)置
9. 未開啟WXML壓縮
【必須】在工具「詳情」-「本地設(shè)置」中開啟「上傳代碼時自動壓縮wxml文件」的設(shè)置
10. 未開啟WXSS壓縮
【必須】在工具「詳情」-「本地設(shè)置」中開啟「上傳代碼時自動壓縮樣式文件」的設(shè)置
11. 存在無依賴文件
【必須】在「代碼質(zhì)量」面板,點(diǎn)擊「建議去除」后,可以打開代碼依賴分析面板的「無依賴文件」頁面,這里可以看到代碼包里沒有被用到的文件。請?jiān)诖a包中去除這部分文件,減小體積并優(yōu)化加載速度。
在本地開發(fā)的過程中,會自動過濾無依賴的文件,如果出現(xiàn)誤過濾的情況,可以在 project.config.json 的 setting 字段中添加 ignoreDevUnusedFiles 為 false,也可以在 packOptions 的 include 字段中手動將被忽略的文件引入,同時歡迎發(fā)帖反饋誤報的情況提交代碼片段幫助我們完善此功能
注意:頁面若為配置在 app.json 中,將被識別為無依賴文件
12. 未開啟組件懶注入(按需注入)
【必須】在 app.json 中加入 `"lazyCodeLoading": "requiredComponents"` 可以開啟小程序組件按需注入特性。