美文网首页
解决小程序内存超2M限制 - 分包加载

解决小程序内存超2M限制 - 分包加载

作者: 又菜又爱分享的小肖 | 来源:发表于2020-09-23 19:47 被阅读0次
什么是分包加载?

举个简单列子:比如点烤鱼的时候,为了不能浪费就不点其他小菜就先点主菜烤鱼,再吃烤鱼的时候觉得不够你觉得需要小菜的时候在去点小菜。小程序分包加载也是这个道理,大部分小程序是有很多很多功能来组成的,通常这几个功能之间是独立的,但会依赖一些公共的逻辑,并且这些功能通常会对应某几个独立的页面,那么我们不需要一次性全部进行代码打包,我们可以按照相应功能的划分,来进行相对应的打包,每当我需要某个功能的时候,才加载这个功能对应的分包。

加载流程

1.首次启动时,先下载小程序主包,显示主包内的页面;
2.如果用户进入了某个分包的页面,再下载这个对应分包,下载完毕后,显示分包的页面。

采用分包加载,对开发者而言,能使小程序有更大的代码体积,承载更多的功能与服务;而对用户而言,可以更快地打开小程序,同时在不影响启动速度前提下使用更多功能

划分分包

以下是uniapp目录分包结构

┌─pages               
│  ├─index
│  │  └─index.vue    
│  └─login
│     └─login.vue    
├─pagesA   
│  ├─static
│  └─list
│     └─list.vue 
├─pagesB    
│  ├─static
│  └─detail
│     └─detail.vue  
├─static             
├─main.js       
├─App.vue          
├─manifest.json  
└─pages.json   

在配置前首先需要开发者规划下各个分包需要容纳的内容,建议开发者按照功能划分的的原则,将同一个功能下的页面和逻辑放置于同一个目录下,对于一些跨功能之间公共逻辑,将其放置于主包下,这样可以确保在分包引用这部分功能时,这部分的逻辑一定存在。

在分包划分时,应该注意以下事项:
1.避免分包与分包之间引用上的耦合。因为分包的加载是由用户操作触发的,并不能确保某分包加载时,另外一个分包就一定存在,这个时候可能会导致 JS 逻辑异常的情况,例如报「"xxx.js" is not defined」这样的错误;
2.一些公共用到的自定义组件,需要放在主包内。

配置分包

写在pages.json与pages同级

"subPackages": [{
        "root": "pagesA",
        "pages": [{
            "path": "1/index",
            "style": {
                "navigationBarTitleText": ""
            }
        }
        ]
    }, {
        "root": "pagesB",
        "pages": [{
            "path": "2/index",
            "style": {
                "navigationBarTitleText": ""
            }
        }]
    }, {
        "root": "pagesC",
        "pages": [{
                "path": "3/index",
                "style": {
                    "navigationBarTitleText": ""
                }
            }

        ]
    }]
image.png

subPackages 里的pages的路径是 root 下的相对路径,不是全路径!!!

注意!!!

分包加载后路径不要这样写'pagesA/log/index',注意前面一定要加 "/" 这样:/pagesA/log/index,如果不加 / 的话,点击跳转会失效.控制台也不会报错,就是这样莫名其妙!!!

相关文章

  • 解决小程序内存超2M限制 - 分包加载

    什么是分包加载? 举个简单列子:比如点烤鱼的时候,为了不能浪费就不点其他小菜就先点主菜烤鱼,再吃烤鱼的时候觉得不够...

  • 微信小程序分包加载设置

    设置分包加载 微信小程序分包限制为: 主包或者单个分包最大为2M 整体小程序所有包最大为8M 为什么需要设置分包?...

  • 2019-06小程序升级简要

    微信小程序分包加载 包的限时 整个小程序所有分包大小不超过 8M 单个分包/主包大小不能超过 2M 分包规则(普通...

  • taro项目减少小程序主包体积

    发现问题 目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 20M 单个分包/主包大小不能超过 2M ...

  • 2019-03-19 wx小程序记录(分包,事件)

    1.分包加载(subpackages) 目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 8M单个分包...

  • 如何分包和wxs文件

    分包目的在于提高小程序的体积,多一个包就多2M,最多8M 常规的分包: 小程序一打开首先加载主包,然后再加载分包 ...

  • 微信小程序:分包报错

    微信提供了分包加载目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 8M 单个分包/主包大小不能超过 ...

  • 小程序分包

    小程序打包超过限制,根据官网提供的方案:基础能力 /分包加载 /使用分包 官方文档地址[https://devel...

  • 小程序分包(Taro分包案例)

    为什么要使用小程序的“分包加载”方案 微信小程序限制了代码包不能超过 2MB,限制大小是对小程序启动速度的考虑,但...

  • 微信小程序---分包加载

    分包加载 背景 微信官方出于小程序的启动速度的考虑,对代码包的大小进行了限制。但是同样也限制了小程序功能的扩展,为...

网友评论

      本文标题:解决小程序内存超2M限制 - 分包加载

      本文链接:https://www.haomeiwen.com/subject/iuwoyktx.html