最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

uniapp開發(fā)微信小程序主包太大和vendor.js過大無法打包問題解決

 更新時間:2023年11月08日 11:44:11   作者:贏樂  
最近工作一直在uniapp開發(fā)小程序這一塊,相信很多開發(fā)者都遇到過代碼體積太大無法打包的問題,這篇文章主要給大家介紹了關(guān)于uniapp開發(fā)微信小程序主包太大和vendor.js過大無法打包問題的解決辦法,需要的朋友可以參考下

前言

在uniapp開發(fā)小程序這一塊,相信很多開發(fā)者都遇到過代碼體積太大無法打包的問題,這時候就要優(yōu)化小程序包大小。下面分享一下我的解決思路。希望能給大家一些幫助吧。

方法一:線上圖片

小程序體積大是因為static目錄的圖片資源過大的話,我們可以將static的圖片上傳圖片服務(wù)器上去,小程序使用鏈接的形式來下載使用圖片。

靜態(tài)圖片使用線上地址,不要放到項目中,除了navBar的icon,因為那個只能使用本地資源,相對來說這個不大。

1、上傳圖片資源到圖片服務(wù)器上去

將切好的圖片上傳到圖片服務(wù)器上面,

比如 https://www.xxxxxxxx.com.cn/wx/static/images/1.png

2、處理JS和vue中的圖片引用

2.1、定義JS全局變量

在main.js頁面定義js全局變量

Vue.prototype.staticDir = 'https://www.xxxxxxxx.com.cn/wx/static/'; 
Vue.prototype.getStaticFilePath = function (url) {
    return Vue.prototype.staticDir + url;  
}

2.2、替換vue中的圖片地址

以前我們引用的圖片地址是下面這樣的:

<view class="demo">
    <image src="/static/images/1.png"></image>
</view>

現(xiàn)在我們修改src成這樣即可:

<view class="demo">
    <image :src="getStaticFilePath('/images/1.png')"></image>
</view>

3、處理css中的圖片引用

uniapp根目錄下有一個特殊的文件uni.scss,在代碼中無需 import 這個文件即可在scss代碼中使用這里的樣式變量。uni-app的編譯器在webpack配置中特殊處理了這個uni.scss,使得每個scss文件都被注入這個uni.scss,達到全局可用的效果。我們將scss的static目錄變量放到這里,即可全局使用了。

3.1、定義scss全局變量

在uni.scss的最后添加:

// 背景圖片路徑
$custom-bg-img-url:'https://www.xxxxxxxx.com.cn/wx/static/';

3.2、css文件改名成scss文件

將原來的css文件改名成scss文件,并像下面這樣修改vue中的引用。加上了lang=“scss”

<style scoped lang="scss">

</style>

3.3、替換css中的圖片地址

以前css中的背景圖地址是下面這樣的:

.bgimg {
    width: 40rpx;
    height: 40rpx;
    background-image: url(/static/imags/1.png);
    background-size: cover;
}

現(xiàn)在我們修改url成這樣即可:

.bgimg {
    width: 40rpx;
    height: 40rpx;
    background-image: url($custom-bg-img-url+'/images/1.png');
    background-size: cover;
}

方法二:分包加載

除了TabBa的頁面,其他的頁面進行分包處理,保證主包的大小,因為在編譯后那些靜態(tài)js和組件也會放入主包中,分包方式官網(wǎng)有詳細解釋。

目前小程序分包大小有以下限制:

整個小程序所有分包大小不超過 20M
單個分包/主包大小不能超過 2M

對小程序進行分包,可以優(yōu)化小程序首次啟動的下載時間,以及在多團隊共同開發(fā)時可以更好的解耦協(xié)作。

具體使用方法請參考:

方法三:依賴分離

使用分包之后會發(fā)現(xiàn)遇到了一個奇怪的問題,子包的組件和js文件會被打包到主包的vendor.js文件中,這就導(dǎo)致了vendor.js過大。

1、檢查manifest.json,在這個文件下的源碼視圖中,在mp-weixin節(jié)點有個optimization,

optimization下的subpackages節(jié)點時用來控制微信分包的,需要將此節(jié)點設(shè)為true

"optimization" : {
    "subpackages" : true
}

2、配置好重行運行,會發(fā)現(xiàn)分包的js文件將不會再打包到主包的vendor.js中了

方法四:代碼壓縮

1、在HBuilder上面點擊運行——>運行到小程序模擬器——>運行時是否壓縮代碼

2、在HBuilder上面點擊發(fā)行——>小程序——>發(fā)行——>小程序-微信(僅適用于uni-app)(W)

3、輸入小程序名稱和appid點擊發(fā)行即可。然后控制臺會開始編譯,等編譯好了會自動打開微信開發(fā)者工具。

  • 如果手動發(fā)行,則點擊發(fā)行按鈕后,會在項目的目錄 unpackage/dist/build/mp-weixin 生成微信小程序項目代碼。在微信小程序開發(fā)者工具中,導(dǎo)入生成的微信小程序項目,測試項目代碼運行正常后,點擊“上傳”按鈕,之后按照 “提交審核” => “發(fā)布” 小程序標(biāo)準(zhǔn)流程,逐步操作即可。
  • 如果在發(fā)行界面勾選了“自動上傳微信平臺”,則無需再打開微信工具手動操作,將直接上傳到微信服務(wù)器提交審核。

4、現(xiàn)在縮小了很多,以前3.2M,現(xiàn)在只有1.8M,現(xiàn)在不管是用來上傳代碼還是調(diào)試都完全沒有問題了。

5、“運行” 和 “發(fā)行” 的區(qū)別:

運行:模式有 SourceMap 可以方便的進行斷點調(diào)試;編譯出的代碼存放于根目錄下的 /dist/dev/目錄。
發(fā)行:模式會將代碼進行壓縮,體積更小更適合發(fā)布為正式版應(yīng)用;編譯出的代碼存放于根目錄下的 /dist/build/ 目錄。

總結(jié)

到此這篇關(guān)于uniapp開發(fā)微信小程序主包太大和vendor.js過大無法打包問題解決的文章就介紹到這了,更多相關(guān)uniapp小程序主包太大無法打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS實現(xiàn)淘寶支付寶網(wǎng)站的控制臺菜單效果

    JS實現(xiàn)淘寶支付寶網(wǎng)站的控制臺菜單效果

    這篇文章主要介紹了JS實現(xiàn)淘寶支付寶網(wǎng)站的控制臺菜單效果,涉及JavaScript基于時間函數(shù)及數(shù)學(xué)運算控制頁面動畫彈出菜單效果的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • JavaScript 給漢字排序?qū)嵗a

    JavaScript 給漢字排序?qū)嵗a

    數(shù)組的 sort 方法默認(rèn)字符的編碼排序,有時候要給一組漢字排序,默認(rèn)的方法就不適用了。
    2008-06-06
  • JavaScript實現(xiàn)圖像模糊化的方法實例

    JavaScript實現(xiàn)圖像模糊化的方法實例

    這篇文章主要介紹了JavaScript實現(xiàn)圖像模糊化的方法,文中先進行簡單介紹,而后給出了完整的實例代碼,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 歸納下js面向?qū)ο蟮膸追N常見寫法總結(jié)

    歸納下js面向?qū)ο蟮膸追N常見寫法總結(jié)

    下面小編就為大家?guī)硪黄獨w納下js面向?qū)ο蟮膸追N常見寫法總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • jsonp跨域請求詳解

    jsonp跨域請求詳解

    這篇文章主要為大家詳細介紹了jsonp跨域請求的相關(guān)資料,激活了所有接口支持瀏覽器跨域請求的封裝,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JavaScript準(zhǔn)確判斷數(shù)據(jù)類型的5 種方法深度對比

    JavaScript準(zhǔn)確判斷數(shù)據(jù)類型的5 種方法深度對比

    這篇文章主要為大家詳細介紹了JavaScript準(zhǔn)確判斷數(shù)據(jù)類型的5 種方法深度對比,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2026-01-01
  • javascript中bind函數(shù)的作用實例介紹

    javascript中bind函數(shù)的作用實例介紹

    bind()的方法在ie,6,7,8中不適用,需要擴展通過擴展Function prototype可以實現(xiàn)此方法,下面為大家介紹下javascript中bind函數(shù)的作用
    2014-09-09
  • JavaScript中的Proxy對象

    JavaScript中的Proxy對象

    這篇文章主要介紹了JavaScript中的Proxy對象的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下
    2020-11-11
  • javascript 分號總結(jié)及詳細介紹

    javascript 分號總結(jié)及詳細介紹

    這篇文章主要介紹了javascript 分號總結(jié)及詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • webpack處理 css\less\sass 樣式的方法

    webpack處理 css\less\sass 樣式的方法

    本篇文章主要介紹了webpack處理 css\less\sass 樣式的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

广宗县| 荥经县| 灵寿县| 定西市| 武威市| 广平县| 广平县| 徐闻县| 米林县| 钟山县| 筠连县| 邵东县| 逊克县| 比如县| 朔州市| 扎囊县| 上饶县| 财经| 喜德县| 岐山县| 新邵县| 德阳市| 庆安县| 漳州市| 冕宁县| 从江县| 乌苏市| 阜宁县| 衢州市| 宜州市| 京山县| 泸溪县| 义乌市| 陈巴尔虎旗| 辽宁省| 常山县| 宜兰市| 元江| 元谋县| 边坝县| 高邮市|