微信小程序的优化方案之主包与分包的研究

这篇具有很好参考价值的文章主要介绍了微信小程序的优化方案之主包与分包的研究。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是分包?

某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。
在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。
在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。
目前小程序分包大小有以下限制:
整个小程序所有分包大小不超过 20M
单个分包/主包大小不能超过 2M

优点

对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。

有如下的项目结构
微信小程序的优化方案之主包与分包的研究
app.json配置文件,pages是主包的内容,subpackages是分包的内容

{
  "pages": [
    "pages/index/index"
  ],
  "subpackages":[
    {
      "root": "packageA",
      "pages": [
        "pages/about/about",
        "pages/app"
      ]
    }
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black"
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json"
  
}
主包页面跳转到分包页面

pages\index\index.wxml

<button bindtap="goToClick">跳转到about</button>
  onLoad(options){
    console.log(options,'ops')
  },
  goToClick(){
    console.log('goToClick')
    wx.reLaunch({
      url: '/packageA/pages/about/about',  //必须写完整路径
    })
  }
分包页面跳转到主包页面且携带参数

packageA\pages\about\about.wxml

<button bindtap="goIndexClick">跳转到首页</button>
 goIndexClick(){
    wx.navigateTo({
      url: '/pages/index/index?name=gaofeng',
    })
  }

微信小程序的优化方案之主包与分包的研究

可能会出现的报错及处理方法

https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html#packOptions
https://developers.weixin.qq.com/community/develop/doc/00040e5a0846706e893dcc24256009
微信小程序的优化方案之主包与分包的研究

 "packOptions": {
    "ignore": [],
    "include": [
      {
        "value": "packageA/pages/app/app.js",
        "type": "file"
      },
      {
        "value": "packageA/pages/cat.js",
        "type": "file"
      },
      {
        "value": "packageA/pages/dog.js",
        "type": "file"
      },
      {
        "value": "packageA/pages/about.js",
        "type": "file"
      }
    ]
  }

即可以解决这个问题文章来源地址https://www.toymoban.com/news/detail-501360.html

到了这里,关于微信小程序的优化方案之主包与分包的研究的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序分包,分包与主包页面跳转

    什么是分包 分包指的是把一个完整的小程序项目,按照需求划分为不同的子包, 在构建时打包成不同的分包,用户在使用时按需进行加载。 分包的好处 对小程序进行分包的好处主要有以下两点: ● 可以优化小程序首次启动的下载时间 ● 在多团队共同开发时可以更好的解耦

    2023年04月08日
    浏览(38)
  • 微信小程序中主包和分包过大,详解分包问题

    哈喽,大家好呀!小韵携原创博文给大家请安啦! 前言 :开发微信小程序时,若项目比较大,必定要分包,当项目过于大时,则需要细致、谨慎地对项目进行分包优化和精简,这是一个不可避免地问题,网上的大多数分包优化都是针对于小项目的普通官方分包优化,并未将

    2024年02月08日
    浏览(35)
  • 微信小程序主包和分包资源相互引用规则

    微信分包文档   文档中只提到了分包对于兄弟分包和主包之间的引用关系,但是并未提及,主包是否可以引用分包资源。其实只需要明白两点, 第一点:分包永远都是异步加载的 第二点:主包可以预加载分包 那么其实这里就已经很明显了,如果想要主包使用分包的资源,那

    2024年01月21日
    浏览(46)
  • 使用uniapp在打包微信小程序时主包和vendor.js过大(uniCloud的插件分包)

    正常的的微信小程序在编译后,主包应保持在2MB左右(限制最大2MB),其余的文件通过分包来进行加载  但是有的情况下,微信小程序的主包能达到3MB,vendor.js会达到1.5MB 当你发现的你的微信vendor.js只有1个文件夹,且这个文件非常大时,首先需要检查 manifest.json 在这个文件夹

    2024年02月02日
    浏览(34)
  • uniapp开发微信小程序,主包(分包超过限制)

    嘀嘀嘀  ~  和大家分享一下  最近的uniapp开发微信小程序  在真机调试 或者在上传的时候 提示主包或者分包 大小超过限制   首先和大家说一下  微信小程序  主包限制不能超过2M     分包一共不能超过8M(好像是记不太清了) 然后具体解决优化步骤如下, 1.   将主包进

    2024年02月15日
    浏览(33)
  • uni-app 微信小程序vendor.js 过大的处理方式和分包优化

    小程序工具提示vendor.js过大,已经跳过es6向es5转换。这个转换问题本身不用理会,因为vendor.js已经是es5的了。 关于体积控制,参考如下: 使用运行时代码压缩 HBuilderX创建的项目勾选运行–运行到小程序模拟器–运行时是否压缩代码 cli创建的项目可以在 package.json 中添加参数

    2024年02月11日
    浏览(40)
  • uniapp 小程序如何从主包页面跳转到分包页面

    在uniapp开发小程序的时候,“分包”概念一定要提前了解下,具体我就不多说了,自己看下关网的相关配置。 那么,如果从主包页面,跳转至分包的页面呢?如图所示 我的页面-详情页  在我的页面创建好自己的链接,我使用的是方法创建的 注: 1、一定要注意跳转的路径,

    2024年02月16日
    浏览(40)
  • uniapp打包微信小程序主包过大问题

    微信小程序包体积限制:主包资源大小不能超过20M(主包 + 分包),单个分包大小不能超过2M 问题: 在用uniapp打包微信小程序时提示文件超过了2M不让上传,主包中的 vendor.js 太大1.7M有的甚至更大, 解决: 在HbuildX中运行时勾选上运行压缩 在微信开发者工具中上传时勾选上上

    2024年04月13日
    浏览(41)
  • 微信小程序主包超2M打包发布成功等相关配置

    期望通过每一次分享,让技术的门槛变低,落地更容易。 —— around 作者公司开发了一个小程序,经过几个版本的迭代,大小超过了2M,研发主要使用的组件是uni-app,前面几个版本包大了我们添加了 optimization.subPackages=true 的配置,并给不同功能页面完成了分包,到此解决第一

    2024年02月11日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包