国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序中主包和分包過(guò)大,詳解分包問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序中主包和分包過(guò)大,詳解分包問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

哈嘍,大家好呀!小韻攜原創(chuàng)博文給大家請(qǐng)安啦!

前言:開(kāi)發(fā)微信小程序時(shí),若項(xiàng)目比較大,必定要分包,當(dāng)項(xiàng)目過(guò)于大時(shí),則需要細(xì)致、謹(jǐn)慎地對(duì)項(xiàng)目進(jìn)行分包優(yōu)化和精簡(jiǎn),這是一個(gè)不可避免地問(wèn)題,網(wǎng)上的大多數(shù)分包優(yōu)化都是針對(duì)于小項(xiàng)目的普通官方分包優(yōu)化,并未將分包優(yōu)化講解更深一步。

介紹:博文介紹了對(duì)于較大的項(xiàng)目而言,根據(jù)微信開(kāi)發(fā)者工具中提示,從自用組件、官方組件、項(xiàng)目配置等方面提出分包、精簡(jiǎn)項(xiàng)目的見(jiàn)解。

目錄

一.文件結(jié)構(gòu)和工具功能

1.小程序編譯的文件結(jié)構(gòu)

2.工具功能使用

A.發(fā)行

B.代碼依賴分析

二.控制方法

1.自用組件/工具

2.官方組件

A.uni_modules

B.vant

3.全局配置

三.總結(jié)


一.文件結(jié)構(gòu)和工具功能

1.小程序編譯的文件結(jié)構(gòu)

非常必要推薦了解小程序文件結(jié)構(gòu),對(duì)于稍大的項(xiàng)目,對(duì)于包的精簡(jiǎn)會(huì)起到柳暗花明又一村的效果 。眾所周知,微信小程序分為“主包”和“分包”模塊,每個(gè)包不得超過(guò)2M最多分10個(gè)包共20M。而微信小程序的文件結(jié)構(gòu),只有主包和分包:

微信小程序代碼包太大,微信小程序,微信小程序,小程序

?因此,我們的代碼中,除了定義的分包外,所有的其它內(nèi)容都在主包中

微信小程序代碼包太大,微信小程序,微信小程序,小程序

這給我們了啟示,在包容量過(guò)大情況下,盡量將組件分在各分包內(nèi),同時(shí)檢查除分包外的全局配置。

2.工具功能使用

A.發(fā)行

使用HbuilderX運(yùn)轉(zhuǎn)到微信開(kāi)發(fā)者工具編譯成其語(yǔ)言,可經(jīng)過(guò)“運(yùn)行”和“發(fā)行”兩種。但“發(fā)行”對(duì)編譯包更加精簡(jiǎn),若要“上傳”小程序,一定要點(diǎn)“發(fā)行”功能。

微信小程序代碼包太大,微信小程序,微信小程序,小程序

B.代碼依賴分析

代碼依賴分析中,詳細(xì)展示了每個(gè)包及文件的大小,可以清晰找出比較大的文件夾和文件,進(jìn)而優(yōu)化。

微信小程序代碼包太大,微信小程序,微信小程序,小程序微信小程序代碼包太大,微信小程序,微信小程序,小程序

其中還有一個(gè)“無(wú)依賴代碼文件數(shù)”功能,在“全部”下面,這個(gè)功能比較雞肋,不能夠完全準(zhǔn)確地分析出依賴與否,羅列的文件是有可能存在依賴的,只是沒(méi)有檢測(cè)出來(lái),不過(guò)還是能在一定程度上幫助我們分析出可能無(wú)用的文件,自己進(jìn)行嘗試篩選即可(我也要吐槽下,如果這個(gè)功能按照文件夾分類不更好嗎?)

微信小程序代碼包太大,微信小程序,微信小程序,小程序

二.控制方法

1.自用組件/工具

我們會(huì)在編寫中制作全局自用組件分包自用組件

對(duì)于一般的項(xiàng)目來(lái)說(shuō),比較通用的自用組件,放在全局components下即可,不會(huì)給主包占用太多的空間。

對(duì)于迫切精簡(jiǎn)的項(xiàng)目,則考慮把通用組件分別分配在每個(gè)調(diào)用的分包中以減輕主包壓力。基于這種思想,我們可以預(yù)估項(xiàng)目的整體大小、考慮組件的全局通用頻率進(jìn)行折衷考慮。

除了組件外,不管哪里的圖片,都要放在圖片服務(wù)器上,僅保留常用的,譬如tabbar圖標(biāo)等幾kb的圖片。

2.官方組件

我說(shuō)的官方組件,特指uni_modulesvant組件。這兩款都是非常優(yōu)秀和完整的組件包,里面包含各種組件(包含一些根本不需要的組件)。而它們的內(nèi)部調(diào)用和引入方式卻不太相同,因此也造就了不同的分包和精簡(jiǎn)方法。

A.uni_modules

對(duì)于uni_modules組件,內(nèi)部依賴性很低,樣式尚可,正如官網(wǎng)所說(shuō),其獨(dú)立性強(qiáng),無(wú)需配置就可使用。

對(duì)于一般的項(xiàng)目,會(huì)把整個(gè)uni_modules放在外面,在頁(yè)面中直接使用即可。

對(duì)于迫切精簡(jiǎn)的項(xiàng)目,可以考慮,將外部的uni_modules“uni-icons”,“uni-scss”保留外,全部刪除,然后在各分包內(nèi)直接引入所需組件,在頁(yè)面使用時(shí)需要單獨(dú)import引入注冊(cè)為component?!皍ni-icons”和"uni-scss"保證了各組件的圖標(biāo)和樣式不出問(wèn)題,已是最大程度地保留了uni_modules組件功能性,當(dāng)然譬如"uni-transition"的缺失,會(huì)造成某些組件的“來(lái)去”不再平滑。

微信小程序代碼包太大,微信小程序,微信小程序,小程序

微信小程序代碼包太大,微信小程序,微信小程序,小程序

// uni_modules組件可像普通自定義組件般,放到分包內(nèi),vue文件中注冊(cè)組件使用。
import uniDataPicker from '@/pagesE/components/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
 components: { uniDataPicker }
B.vant

對(duì)于vant組件,在小程序中叫vant-weapp,內(nèi)部依賴性高,除此之外,還不太兼容、偶出問(wèn)題(諸如雙向綁定不會(huì)自動(dòng)綁定問(wèn)題最多)。

對(duì)于一般的項(xiàng)目來(lái)說(shuō),將整個(gè)vant組件包放在外面,引入方式建議為按需引入,在pages.json中,在使用組件的style-usingComponents中引入,當(dāng)然如果自己的小程序容量較小并且性能較好,可以放在globalStyle-usingComponents。

值得注意的是,vant組件內(nèi)部依賴性高,不能像uni_modules般分在各個(gè)包中單獨(dú)引用,只能放在工程外部,才能被import找到,即放在分包中,無(wú)論以何種方式引入,是不會(huì)被找到的。

  // 分包加載vant組件
   {
		"path": "pages/index",
		"style": {
		    "navigationBarTitleText": "首頁(yè)",
			"usingComponents": {
				"van-field": "/wxcomponents/vant/dist/field/index",
				"van-popup": "/wxcomponents/vant/dist/popup/index",
				"van-button": "/wxcomponents/vant/dist/button/index"
			}
		}
	}             
    // 全局加載vant組件(不推薦)
    "globalStyle": {
		 "navigationBarTextStyle": "black",		
		 "navigationBarBackgroundColor": "#FFFFFF"
		 "usingComponents": {
		     "van-button": "/wxcomponents/vant/dist/button/index",
		 	 "van-cell": "/wxcomponents/vant/dist/cell/index",
		 	 "van-cell-group": "/wxcomponents/vant/dist/cell-group/index",
		  }
	 }

對(duì)于迫切精簡(jiǎn)的項(xiàng)目,目前博主在遷移vant組件上失敗,即上面所說(shuō)的分包引入的方法,因此只能采用刪去不需要的組件來(lái)精簡(jiǎn)項(xiàng)目,對(duì)于常用的組件進(jìn)行保留,可以參考“無(wú)依賴代碼文件”進(jìn)行刪除,但根據(jù)經(jīng)驗(yàn),“good-action”系列,“minxins”,"overlay"會(huì)有某些常用組件內(nèi)部調(diào)用的,不可以刪除。以下是我精簡(jiǎn)后的vant組件,凡事重在嘗試,當(dāng)然自己根據(jù)所需精簡(jiǎn)即可。

微信小程序代碼包太大,微信小程序,微信小程序,小程序

???????官方組件的完整包的大小約在300kb左右,對(duì)本就不太富裕空間其實(shí)就是一種累贅了。uni_modules和vant的功能范圍都大差不差,uni_modules更符合微信官方的風(fēng)格,大部分情況下,都可以在其中找到我們所需要的,找不到的可以去插件市場(chǎng),我在微信小程序運(yùn)行、編譯、發(fā)布等開(kāi)發(fā)概括_韻澤月光的博客-CSDN博客中也泛講了相關(guān)開(kāi)發(fā)準(zhǔn)備。vant組件在小程序上可就不如前者和PC端了(小程序vant是用微信語(yǔ)言寫的),會(huì)和PC端的使用有些不一樣、不生效的,但是其中的某些組件確實(shí)可以彌補(bǔ)uni_modules中的不符合html和js的交互功能的不足。所以其中取舍,我也差不多和大家分享了經(jīng)驗(yàn)了。

3.全局配置

全局配置是很容易忽略的,為追求方便,項(xiàng)目開(kāi)發(fā)者會(huì)直接在main.js或者App.vue中引入全局js文件或者css文件。

@font-face

有些項(xiàng)目在初次建立時(shí),就引入的全局的css文件,比如uni.scss,或者自定義的字體css文件。而字體引入都是通過(guò)base64編碼引入,編碼本身就已經(jīng)很大了,或已經(jīng)超過(guò)正常需求的代碼大小了,而且在每個(gè)編譯后的wxss中都存在,代碼大小直接翻倍是沒(méi)有問(wèn)題了,我已經(jīng)吃過(guò)兩次虧了。

這可能需要自己主動(dòng)去微信開(kāi)發(fā)者工具觀察每個(gè)文件的大小了,若出現(xiàn)了批量的異常大小的相同后綴文件,那大概就是被全局配置了,進(jìn)入文件內(nèi)容可自行查看和解決。

三.總結(jié)

博文主要講解了對(duì)于實(shí)際大包且可能出現(xiàn)超包的項(xiàng)目的精簡(jiǎn)項(xiàng)目方法,提供了分包、精簡(jiǎn)項(xiàng)目的出發(fā)角度和考慮方向,即根據(jù)微信開(kāi)發(fā)者工具中提示,從自用組件、官方組件項(xiàng)目配置等方面提出了見(jiàn)解。我在所參與的兩個(gè)項(xiàng)目中,都出現(xiàn)了爆炸容量?。?!,最后分去主包0.02Mb的內(nèi)容都花費(fèi)不小時(shí)間,由于分包經(jīng)驗(yàn)少,所以可能會(huì)出現(xiàn)絕對(duì)的錯(cuò)誤和相對(duì)的經(jīng)驗(yàn)錯(cuò)誤,請(qǐng)大家在評(píng)論區(qū)指正。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-721104.html

到了這里,關(guān)于微信小程序中主包和分包過(guò)大,詳解分包問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序 主包與分包的控制小程序大小

    微信小程序 主包與分包的控制小程序大小

    為了讓用戶有更好的體驗(yàn),小程序于是限制包的大小為2M,在開(kāi)發(fā)中,我們經(jīng)常會(huì)出現(xiàn)內(nèi)容過(guò)大的問(wèn)題,于是要進(jìn)行包的大小控制,分包就是一個(gè)很好的方式,小程序分包 的好處,分包及將代碼進(jìn)新分塊,有點(diǎn)微服務(wù)的概念, 為了讓用戶有更好的體驗(yàn),小程序于是限制包的大

    2024年02月16日
    瀏覽(18)
  • uniapp打包微信小程序主包過(guò)大問(wèn)題

    uniapp打包微信小程序主包過(guò)大問(wèn)題

    微信小程序包體積限制:主包資源大小不能超過(guò)20M(主包 + 分包),單個(gè)分包大小不能超過(guò)2M 問(wèn)題: 在用uniapp打包微信小程序時(shí)提示文件超過(guò)了2M不讓上傳,主包中的 vendor.js 太大1.7M有的甚至更大, 解決: 在HbuildX中運(yùn)行時(shí)勾選上運(yùn)行壓縮 在微信開(kāi)發(fā)者工具中上傳時(shí)勾選上上

    2024年04月13日
    瀏覽(96)
  • 微信小程序的優(yōu)化方案之主包與分包的研究

    微信小程序的優(yōu)化方案之主包與分包的研究

    什么是分包? 某些情況下,開(kāi)發(fā)者需要將小程序劃分成不同的子包,在構(gòu)建時(shí)打包成不同的分包,用戶在使用時(shí)按需進(jìn)行加載。 在構(gòu)建小程序分包項(xiàng)目時(shí),構(gòu)建會(huì)輸出一個(gè)或多個(gè)分包。每個(gè)使用分包小程序必定含有一個(gè)主包。所謂的主包,即放置默認(rèn)啟動(dòng)頁(yè)面/TabBar 頁(yè)面,以

    2024年02月11日
    瀏覽(32)
  • uniapp使用uview主包體積過(guò)大(面向微信小程序)

    uniapp使用uview主包體積過(guò)大(面向微信小程序)

    本人的是使用Hbuilder x進(jìn)行的開(kāi)發(fā)uniapp轉(zhuǎn)微信小程序項(xiàng)目 使用前: ? ?使用后: 整個(gè)愛(ài)住~(?≧3≦)?⌒☆?。?!? 友情提示 這個(gè)壓縮可能會(huì)導(dǎo)致你代碼熱更新變慢,所以你開(kāi)發(fā)的時(shí)候 不上傳代碼的時(shí)候 把這個(gè)勾東西關(guān)掉

    2024年02月11日
    瀏覽(93)
  • 微信小程序上傳體積壓縮包過(guò)大分包操作

    微信小程序上傳體積壓縮包過(guò)大分包操作

    1:首先我們得從項(xiàng)目最初階段就得考慮項(xiàng)目是否要進(jìn)行分包操作,如果得分包,我們應(yīng)該創(chuàng)建一個(gè)與pages同級(jí)的文件夾,命名可以隨意 2:第二部我們將需要分包的文件和頁(yè)面放到分包文件夾里面subpage,這里我們得注意,我們進(jìn)行分包的資源文件盡量是我們項(xiàng)目不是經(jīng)常用到的

    2024年02月11日
    瀏覽(20)
  • 【taro react】---- 解決開(kāi)發(fā)環(huán)境微信小程序由于主包體積過(guò)大不能預(yù)覽問(wèn)題

    【taro react】---- 解決開(kāi)發(fā)環(huán)境微信小程序由于主包體積過(guò)大不能預(yù)覽問(wèn)題

    1. 開(kāi)發(fā)環(huán)境代碼包大小 注意:可以看到此時(shí)主包加分包將近 5MB,上傳預(yù)覽將會(huì)超出限制?。?! 2. 預(yù)覽結(jié)果 報(bào)錯(cuò):代碼包大小超過(guò)限制,主包資源近3MB,限制最大2MB?。。?3. 解決辦法 使用webpack的壓縮插件,在開(kāi)發(fā)環(huán)境編譯的時(shí)候進(jìn)行壓縮; 進(jìn)行分包處理,同時(shí)依賴也進(jìn)行

    2024年02月10日
    瀏覽(36)
  • uni-app 微信小程序vendor.js 過(guò)大的處理方式和分包優(yōu)化

    uni-app 微信小程序vendor.js 過(guò)大的處理方式和分包優(yōu)化

    小程序工具提示vendor.js過(guò)大,已經(jīng)跳過(guò)es6向es5轉(zhuǎn)換。這個(gè)轉(zhuǎn)換問(wèn)題本身不用理會(huì),因?yàn)関endor.js已經(jīng)是es5的了。 關(guān)于體積控制,參考如下: 使用運(yùn)行時(shí)代碼壓縮 HBuilderX創(chuàng)建的項(xiàng)目勾選運(yùn)行–運(yùn)行到小程序模擬器–運(yùn)行時(shí)是否壓縮代碼 cli創(chuàng)建的項(xiàng)目可以在 package.json 中添加參數(shù)

    2024年02月11日
    瀏覽(37)
  • uniapp開(kāi)發(fā)微信小程序,主包(分包超過(guò)限制)

    uniapp開(kāi)發(fā)微信小程序,主包(分包超過(guò)限制)

    嘀嘀嘀? ~? 和大家分享一下? 最近的uniapp開(kāi)發(fā)微信小程序? 在真機(jī)調(diào)試 或者在上傳的時(shí)候 提示主包或者分包 大小超過(guò)限制 ? 首先和大家說(shuō)一下? 微信小程序? 主包限制不能超過(guò)2M? ? ?分包一共不能超過(guò)8M(好像是記不太清了) 然后具體解決優(yōu)化步驟如下, 1.? ?將主包進(jìn)

    2024年02月15日
    瀏覽(89)
  • uniapp-微信小程序 分包--詳解

    uniapp-微信小程序 分包--詳解

    先說(shuō)好,如果代碼模塊多,就一個(gè)一個(gè)模塊搞(照著做不會(huì)錯(cuò)) 直入主題,我代碼寫完了,一真機(jī)運(yùn)行,g,發(fā)現(xiàn)超過(guò)2m(微信小程序不能超過(guò)2m),找辦法,發(fā)現(xiàn)設(shè)置里面有個(gè)最大運(yùn)行4M,打開(kāi)后可以真機(jī)調(diào)試了,結(jié)果上傳代碼,g,必須小于2M。找辦法 1、將靜態(tài)資源放到服務(wù)

    2023年04月23日
    瀏覽(56)
  • 解決使用uniapp開(kāi)發(fā)微信小程序時(shí)主包太大和vendor.js過(guò)大無(wú)法打包的問(wèn)題

    解決使用uniapp開(kāi)發(fā)微信小程序時(shí)主包太大和vendor.js過(guò)大無(wú)法打包的問(wèn)題

    在uniapp開(kāi)發(fā)小程序這一塊,相信很多開(kāi)發(fā)者都遇到過(guò)代碼體積太大無(wú)法打包的問(wèn)題,還有vendor.js過(guò)大無(wú)法打包。這時(shí)候就要優(yōu)化小程序包大小。下面分享一下我在實(shí)際項(xiàng)目中使用的方法,并解決了相應(yīng)的問(wèn)題,這里是我的解決思路。小伙伴們也可以根據(jù)自身情況,參考一下。

    2024年02月11日
    瀏覽(367)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包