微信小程序---分包操作

有时候我们的小程序太大,首次打开小程序的时候回比较慢,这个时候我们可以试试分包操作。分包可以让用户在操作小程序的时候按需下载资源(用户在进入某些页面的时候才去下载相应的资源,可以加快小程序的速度,优化用户体验)。

 

小程序代码有个2M限制,是不是有的时候放图片都得忍着点,不敢把太大的放在小程序里面,只能放远程;但是随着项目不断迭代更新,代码图片越来越多,开发的时候更加小心翼翼。是不是很不舒服,还能不能让我舒服的敲代码了。

 

那就说一下分包的限制吧;分包以后单独包最大不能超过2M;整个小程序可以达到8M;比那2M限制翻了4倍;那就让我们愉快地敲代码吧。

 

首先在app.json里面全局配置里面配置分包:(subpackages 属性和pages同级)

通过我的截图可以看出来,我在根目录创建了一个名为shopping的分包(shopping这个文件夹里面的文件都会打包到分包里面去);

 

然后我再shopping这个包里面创建了一个页面(一般新建的页面都要在pages里面声明,现在包里面的页面不需要在pages里面声明,只需要在我们声明的分包里面的pages里面声明,是相对root路径的路径)。

去网上随便找了几张图片,力求把整个小程序的大小超过2M。

在主包的首页设置个点击跳转到分包,把图片都引入,然后点击预览

从首页点击跳转到分包页效果:

     

简单的分包就写好啦

 

 

 

分包--预加载

 

分包预加载,通过app.json里面的 preloadRule 属性配置也加载。

这样配置的效果就是当我们进入到shop_load(自己随便新建一个页面)的时候会静默的加载我们的shopping包。当我们在进入包页面的时候,就流畅进入了。

    

  

 

独立分包

 

独立分包就是这个包是独立的,不依赖于主包就能用,当设置为独立分包时,我们从独立分包进入不会加载主包,只有进入主包页面或者非独立分包页面是才加载主包。

 

使用方法就是前面截图写的,只要在配置包的时候,把independent 设置为 true就成为独立分包。

 

独立分包注意事项:

 

  1. 从独立分包进入的时候,由于没有加载主包,因此通过getApp()方法拿到的是undefined;只有在加载主包回来这个页面以后才能通过getApp拿到全局参数。
  2. 独立分包不能共享其他包样式,包括app.wxss样式。
  3. 独立分包不支持使用插件
  4. 在低于6.7.2的微信版本的小程序独立分包当成普通分包对待,不具备独立分包的能力。

 

为了兼容独立分包进入无法全局管理变量的能力,官方在基础版本库2.4.4以后做了兼容,使用 getApp({allowDefault: true}) 可以预先写入变量,当主包加载的时候回同步到app里面。

代码:

const app = getApp({allowDefault: true});

app.aa = 1;  //  等主包加载的时候回同步进去

 

 

 

 

 

  • 58
    点赞
  • 187
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
微信小程序组件分包是一种优化小程序性能的方法,可以将不常用的组件分离出来,延迟加载,减少小程序启动的加载间,提高用户体验。下面是详细的组件分包操作步骤: 1. 在小程序根目录下创建一个名为 "subpackage" 的文件夹,用于存放分包组件。 2. 在 app.json 文件中添加 "subpackages" 字段,用于声明分包信息。如下所示: ``` "subpackages": [ { "name": "subpackage", "pages": [ "pages/subpackage/index" ], "usingComponents": [ "custom-component" ] } ] ``` 其中,"name" 为分包名称,"pages" 为分包中的页面路径,"usingComponents" 为分包中使用的组件列表。 3. 在项目根目录下创建一个名为 "custom-component" 的文件夹,用于存放自定义组件。在该文件夹下创建一个名为 "custom-component" 的 js 文件和 wxml 文件。 4. 在分包页面中使用自定义组件,需要在页面的 json 文件中声明组件路径。如下所示: ``` { "usingComponents": { "custom-component": "/subpackage/custom-component/custom-component" } } ``` 5. 在分包页面中使用自定义组件。如下所示: ``` <custom-component></custom-component> ``` 6. 编译小程序,生成分包。在生成的分包中,只包含使用到的组件和页面,不会加载其他不相关的组件和页面,从而提高小程序启动速度和性能。 注意:组件分包仅适用于小程序体积较大的情况,对于小程序体积较小的情况,分包可能会造成更多的性能问题。因此,在使用组件分包前,需要根据实际情况进行评估和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值