微信小程序(十四)分包和分包预加载

注释很详细,直接上代码

新增内容:
1.分包的配置
2.分包预加载的写法

先说说为什么需要分包:

小程序追求小而快,主包的大小控制是小程序上线的硬性要求,分包有利于小程序优化加载速度

分包的注意事项:

  1. 单个分包大小不能超过2mb
  2. 分包不意味着可以无限增加,总包最大20mb
  3. tabBar不能在分包使用(应该也不会人没事把导航栏的页面塞分包里)
    源码:
    app.json
json 复制代码
{
    "pages": [
        "pages/icontest/icontest",
        "pages/form/form",
        "pages/index/index",
        "pages/testImg/testImg",
        "pages/logs/logs"
    ],
    "window": {
        "navigationBarTextStyle": "black",
        "navigationBarTitleText": "Weixin",
        "navigationBarBackgroundColor": "#ffffff"

    },
    //使用分包,可以多个分包,但每个分包
    "subpackages":[
    {
        "root":"indexPack",//分包根目录
        "pages":[//分包中包含的页面
            "pages/home/home",
            "pages/person/person"
        ]
    },
    {
        "root":"iconPack",
        "pages":[
            "pages/dog/dog",
            "pages/cat/cat"
        ]
    }
],
//分包预加载
"preloadRule":{
    "pages/icontest/icontest":{//触发预加载的页面
        "network": "all",//预加载的网络环境(建议all)
        "packages": ["iconPack"]//预加载的包
    }
},
    "style": "v2",
    "componentFramework": "glass-easel",
    "sitemapLocation": "sitemap.json",
    "lazyCodeLoading": "requiredComponents"
}

效果演示:

  1. 分包自动创建的文件

温馨提醒:如果删除已创建的分包文件夹而不修改 app.json 的内容,再次自动创建的文件则只有js和wxml
官方的解释是:"未复现。不过我们有一个逻辑,第一次创建出来的是默认都有json 和 wxss。但是,如果你删掉了页面对应的文件,但是又没有改 app.json 的话。第二次自动生成,是不会带 json 和 wxss 的,因为这两个文件是不必要的"
解决方法:要么自己手动新建,要么换名字,创建页面检查无误再ctrl+s保存代码,因为默认保存会自动生成

  1. 进入触发预加载的页面后触发加载的页面信息会在控制台打印
相关推荐
海岳云舟15 分钟前
通过Spring Authorization Server对微信小程序应用进行授权防护
微信小程序
T01156183 小时前
全栈项目实战手记|艺培场馆课时预约小程序全项目开发历程完整复盘总结
运维·服务器·小程序
lhldsg4 小时前
多商户团购系统源码:技术架构选型与二次开发实战指南
java·小程序·架构
2601_949950634 小时前
一套小程序,解决资料整理、在线刷题和错题复盘
人工智能·小程序·刷题·练习·小程序推荐
白远山6 小时前
智慧场馆解决方案小程序系统开发实战与架构设计指南
java·开发语言·小程序·架构
阿祖zu20 小时前
训练师 Agent 小程序产品上线啦
微信小程序·llm·agent
Rooting++1 天前
小程序{{ }}和vue{{ }}语法的区别
前端·vue.js·小程序
博、、1 天前
折扣卡CPS系统源码实战开发指南:从架构设计到落地部署全解析
小程序·需求分析
lhldsg1 天前
折扣卡CPS小程序定制全流程实战指南:从需求分析到上线部署
java·前端·小程序
suliqiang1 天前
【前端技术】 Web 前端技术36年 演进全景图
信息可视化·微信小程序·小程序·前端框架·uni-app·人机交互·xcode