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

微信小程序包大小超過(guò)2M的解決方法—分包加載

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

小程序的包被限制在2M以下, 超出的時(shí)候點(diǎn)擊預(yù)覽, 發(fā)現(xiàn)報(bào)錯(cuò):
Error: 代碼包大小為 3701 kb,上限為 2048 kb,請(qǐng)刪除文件后重試

解決方法:
  1. 優(yōu)化代碼, 刪除掉不用的代碼

  2. 圖片壓縮或上傳服務(wù)器

一般圖片所占空間較大,盡量不要放在小程序本地文件夾中,如果圖片不多我們也可以對(duì)圖片進(jìn)行壓縮,我經(jīng)常使用的圖片壓縮平臺(tái):點(diǎn)擊這里;

也可以將圖片上傳到服務(wù)器上,進(jìn)行外鏈引用, 我們使用的是阿里云oss存儲(chǔ), 另外也可以通過(guò)圖片托管平臺(tái)對(duì)圖片進(jìn)行托管, 我找到的的圖片托管平臺(tái):點(diǎn)擊此處;

另外, 通過(guò)cli命令創(chuàng)建的uni app項(xiàng)目,可將圖片或字體圖標(biāo)放入assets文件夾下,通過(guò)require引入, 也可減少主包大小

  1. 分包加載

官方推出小程序分包加載這一功能,對(duì)于萬(wàn)千小程序開(kāi)發(fā)者來(lái)說(shuō)這無(wú)疑是天大的喜訊,關(guān)于如何分包,微信官方文檔已經(jīng)解釋的十分清楚,在進(jìn)行分包之前建議認(rèn)真閱讀官方文檔。

對(duì)于用戶(hù)來(lái)說(shuō),小程序的加載流程變成了:

1,首次啟動(dòng),加載小程序主包,顯示主包內(nèi)的頁(yè)面
2,如果用戶(hù)進(jìn)入了某個(gè)分包的頁(yè)面,再加載這個(gè)對(duì)應(yīng)分包,顯示分包的頁(yè)面

采用分包加載,對(duì)于開(kāi)發(fā)者而言,能使小程序有更大的代碼體積,承載更多的功能和服務(wù),對(duì)于用戶(hù)而言,可以更快的打開(kāi)小程序,同時(shí)再不影響啟動(dòng)速度的前提下使用更多功能。

分包的劃分:

在配置前首先需要開(kāi)發(fā)者規(guī)劃下各個(gè)分包需要容納的內(nèi)容,建議開(kāi)發(fā)者按照功能劃分的原則,將同一個(gè)功能下的頁(yè)面和邏輯放置于同一個(gè)目錄下,對(duì)于一些跨功能之間的公共邏輯,將其放置于主包下,這樣可以確保在分包引用這部分功能時(shí),這部分的邏輯一定存在。

在分包劃分時(shí),應(yīng)該注意以下事項(xiàng):

1,避免分包與分包之間引用上的耦合。因?yàn)榉职募虞d是用戶(hù)操作觸發(fā)的,并不能確保其分包加載時(shí),
另一個(gè)分包就一定存在,這個(gè)時(shí)候可能導(dǎo)致js邏輯異常,某些資源找不到的錯(cuò)誤;
2,一些公共用到的自定義組件,需要放在主包內(nèi);
3,使用小程序自帶的tab切換時(shí),list中的頁(yè)面需要放在主包內(nèi)。

分包的配置:(微信客戶(hù)端 6.6.0,基礎(chǔ)庫(kù) 1.7.3 及以上版本開(kāi)始支持。)

當(dāng)理清了分包的劃分后,就可以進(jìn)行分包的配置了,這一步并不復(fù)雜。

假設(shè)支持分包的小程序目錄結(jié)構(gòu)如下:

├── app.js
├── app.json
├── app.wxss
├── packageA
│   └── pages
│       ├── cat
│       └── dog
├── packageB
│   └── pages
│       ├── apple
│       └── banana
├── pages
│   ├── index
│   └── logs
└── utils

開(kāi)發(fā)者通過(guò)在 app.jsonsubPackages字段聲明項(xiàng)目分包結(jié)構(gòu):

{
  "pages":[
    "pages/index",
    "pages/logs"
  ],
  "subpackages": [
    {
      "root": "packageA",
      "pages": [
        "pages/cat",
        "pages/dog"
      ]
    }, {
      "root": "packageB",
      "name": "pack2",
      "pages": [
        "pages/apple",
        "pages/banana"
      ]
    }
  ]
}

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

整個(gè)小程序所有分包大小不超過(guò) 20M
單個(gè)分包/主包大小不能超過(guò) 2M

低版本兼容:

由微信后臺(tái)編譯來(lái)處理舊版本客戶(hù)端的兼容,后臺(tái)會(huì)編譯兩份代碼包,一份是分包后代碼,另外一份是整包的兼容代碼。 新客戶(hù)端用分包,老客戶(hù)端還是用的整包,完整包會(huì)把各個(gè) subpackage 里面的路徑放到 pages 中。

示例項(xiàng)目:

下載 小程序示例(分包加載版)源碼

接下來(lái)簡(jiǎn)單介紹一下在不同框架中的使用:
1、在uni app中:

uni app通過(guò)cli初始化的小程序目錄結(jié)構(gòu)如下:

 ├── src
    ├── main.js
    ├── App.vue
    ├── pages.json
    ├── manifest.json
    ├── orderPackages
    │   └── pages
    │       ├── goodsDetail
    │       └── myorder
    ├── pages
    │   ├── index
    │   └── user
    └── utils

需在pages.json中配置 subPackages 字段::

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首頁(yè)"
      }
    },
    {
      "path": "pages/user/user",
      "style": {
        "navigationBarTitleText": "個(gè)人中心"
      }
    }
  ],
  "subPackages": [{
    "root": "orderPackages",
    "pages": [{
        "path": "pages/goodsDetail/goodsDetail",
        "style": {
          "navigationStyle": "custom"
        }
      },
      {
        "path": "pages/myorder/myorder",
        "style": {
          "navigationBarTitleText": "我的訂單"
        }
      }
    ]
  }]
}

在頁(yè)面中跳轉(zhuǎn)分包頁(yè)面路徑:

uni.navigateTo({
     url: `/orderPackages/pages/order/order`
})
2、在taro中:

taro初始化的小程序目錄結(jié)構(gòu)如下:

├── src
    ├── app.js
    ├── app.scss
    ├── index.html
    ├── packageA
    │   └── pages
    │       ├── goodsDetail
    │       └── myorder
    ├── pages
    │   ├── index
    │   └── user
    └── utils

需在app.js中配置 subPackages 字段:

config = {
    pages: [
      'pages/index/index',
      'pages/user/user'
    ],
    subPackages: [
      {
        'root': 'packageA',
        'pages': [
          'pages/goodsDetail/goodsDetail',
          'pages/myorder/myorder'
        ]
      }
    ]
  }

在頁(yè)面中跳轉(zhuǎn)分包頁(yè)面路徑:

taro.navigateTo({
     url: `/orderPackages/pages/order/order`
})

以上只羅列了uni app和taro框架分包加載的步驟, 原生小程序分包方法根據(jù)官方文檔即可快速實(shí)現(xiàn),小程序框架雖多, 大都大同小異,如果后續(xù)有使用其他框架進(jìn)行開(kāi)發(fā),會(huì)進(jìn)行補(bǔ)充。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-489257.html

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

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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)文章

  • 三步解決微信小程序cdn加速(資源大小超過(guò)200k)

    三步解決微信小程序cdn加速(資源大小超過(guò)200k)

    剛開(kāi)始開(kāi)發(fā)小程序的時(shí)候,上傳代碼會(huì)遇到這樣的問(wèn)題:圖片和音頻資源大小超過(guò) 200 K 下面是官方建議 【建議】小程序代碼包里可以存放一些必要的靜態(tài)資源(例如tabbar的icon等),不過(guò)靜態(tài)資源體積過(guò)大也會(huì)影響小程序代碼包加載速度。因此我們建議圖片、音頻等靜態(tài)資源

    2024年02月02日
    瀏覽(25)
  • 【一步步開(kāi)發(fā)AI運(yùn)動(dòng)小程序】十四、主包超出2M大小限制,如何將插件分包發(fā)布?

    【一步步開(kāi)發(fā)AI運(yùn)動(dòng)小程序】十四、主包超出2M大小限制,如何將插件分包發(fā)布?

    隨著人工智能技術(shù)的不斷發(fā)展,阿里體育等IT大廠,推出的“樂(lè)動(dòng)力”、“天天跳繩”AI運(yùn)動(dòng)APP,讓 云上運(yùn)動(dòng)會(huì)、線上運(yùn)動(dòng)會(huì)、健身打卡、AI體育指導(dǎo) 等概念空前火熱。那么,能否將這些在APP成功應(yīng)用的場(chǎng)景搬上小程序,分享這些概念的紅利呢?本系列文章就帶您一步一步從

    2024年02月04日
    瀏覽(28)
  • 微信小程序 主包與分包的控制小程序大小

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

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

    2024年02月16日
    瀏覽(18)
  • HBuilderx 坑 之前沒(méi)問(wèn)題 改了幾行代碼 小程序上傳報(bào)分包大小超過(guò)限制

    HBuilderx 坑 之前沒(méi)問(wèn)題 改了幾行代碼 小程序上傳報(bào)分包大小超過(guò)限制

    ? 目錄 Error: 分包大小超過(guò)限制,main package source size 4199KB exceed max limit 2MB [20221008 16:08:06][wx432abdb518bdc1eb] 本文重點(diǎn)來(lái)了??! 如題:小程序,只改了幾行代碼,上傳報(bào)主包超過(guò)限制,簡(jiǎn)直有毒,估計(jì)很多人都遇到過(guò)此類(lèi)情況,官方解釋的優(yōu)化方案也不是很好用,但是今天我試了一

    2024年02月16日
    瀏覽(24)
  • 微信小程序代碼包限制2M 怎么解決?

    微信小程序代碼包限制為2MB主要是為了保證小程序的加載速度和用戶(hù)體驗(yàn),但對(duì)于一些大型復(fù)雜的小程序來(lái)說(shuō),這個(gè)限制可能會(huì)成為開(kāi)發(fā)的難點(diǎn)。以下是幾種常見(jiàn)的解決方法: 代碼壓縮:可以通過(guò)使用webpack等工具進(jìn)行代碼壓縮,從而減小代碼包的大小。 按需加載:將一些不

    2024年04月22日
    瀏覽(23)
  • 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)
  • 【小程序分包】小程序包大于2M,來(lái)這教你分包啊

    該大的不大,小程序包超出2M,無(wú)法上傳發(fā)布 前段時(shí)間項(xiàng)目迭代時(shí),因版本大升級(jí),導(dǎo)致uniapp打包后小程序后, 包體積大于2M 。雖然將圖片等 靜態(tài)資源壓縮 ,體積大的 資源放置cdn ,在不懈的努力下,治標(biāo)不治本,包體積還是不聽(tīng)話的長(zhǎng)到2M以上。憋的實(shí)在沒(méi)辦法,遂將小程

    2024年02月11日
    瀏覽(17)
  • 微信小程序主包超2M打包發(fā)布成功等相關(guān)配置

    微信小程序主包超2M打包發(fā)布成功等相關(guān)配置

    期望通過(guò)每一次分享,讓技術(shù)的門(mén)檻變低,落地更容易。 —— around 作者公司開(kāi)發(fā)了一個(gè)小程序,經(jīng)過(guò)幾個(gè)版本的迭代,大小超過(guò)了2M,研發(fā)主要使用的組件是uni-app,前面幾個(gè)版本包大了我們添加了 optimization.subPackages=true 的配置,并給不同功能頁(yè)面完成了分包,到此解決第一

    2024年02月11日
    瀏覽(89)
  • 微信小程序(十四)分包和分包預(yù)加載

    微信小程序(十四)分包和分包預(yù)加載

    注釋很詳細(xì),直接上代碼 上一篇 新增內(nèi)容: 1.分包的配置 2.分包預(yù)加載的寫(xiě)法 先說(shuō)說(shuō)為什么需要分包: 小程序追求小而快,主包的大小控制是 小程序上線的硬性要求 ,分包有利于小程序 優(yōu)化加載速度 分包的注意事項(xiàng): 單個(gè)分包大小不能超過(guò)2mb 分包不意味著可以無(wú)限增加

    2024年01月25日
    瀏覽(20)
  • 微信小程序獨(dú)立分包與分包預(yù)下載

    微信小程序獨(dú)立分包與分包預(yù)下載

    官網(wǎng)鏈接 獨(dú)立分包配置方法 獨(dú)立分包使用限制 獨(dú)立分包中不能依賴(lài)主包和其他分包中的內(nèi)容,包括 js 文件、模板、wxss、自定義組件等; App 只能在主包內(nèi)定義,獨(dú)立分包中不能定義 App,會(huì)造成無(wú)法預(yù)期的行為 獨(dú)立分包中暫時(shí)不支持使用插件 分包預(yù)加載 開(kāi)發(fā)者可以通過(guò)在

    2024年02月20日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包