微信小程序分包操作实战指南

 更新时间:2022年10月25日 09:12:38   作者:口袋の的天空  
分包指的是把一个完整的小程序项目,按照需求划分为不同的子包, 在构建时打包成不同的分包,用户在使用时按需进行加载,下面这篇文章主要给大家介绍了关于微信小程序分包操作的相关资料,需要的朋友可以参考下

前言

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

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

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

打包原则:

  • 声明 subpackages后,将按 subpackages 配置路径进行打包,subpackages 配置路径外的目录将被打包到 app(主包) 中
  • app(主包)也可以有自己的 pages(即最外层的 pages 字段)
  • subpackage 的根目录不能是另外一个subpackage内的子目录
    -tabBar页面必须在 app(主包)内
  • 登录页面和tabbar页面,这几个页面是要分成主包的,tabBar 页面必须在 app(主包)内

引用原则:

  • packageA 无法 require packageB JS 文件,但可以 require app、自己 package内的 JS 文件
  • packageA无法import packageB 的 template,但可以require app、自己 package内的 template
  • packageA 无法使用 packageB 的资源,但可以使用 app、自己 package 内的资源

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

我在根路径创建了两个分包,分别是homepay

  "pages": [
    "pages/index/index",
    "pages/user/index",
  ],
  "subpackages":[
    {
      "root":"template/home", //分包的根路径,彼此之间不可以重复
      "name":"home",  	//分包的标识名字,用于预加载分包时用
      "pages":[			//分包的路径(不预加载的时候,用户进入分包路径才会加载分包资源)
        "shop_house/shop_house"
      ],
      "independent":false   //是否独立分包(可以不加载主包就独立加载的包,独立分包不能当做全局资源)
    },
    {
      "root":"template/pay",
      "name":"pay",
      "pages":[
        "pay_house/pay_house"
      ],
      "independent":false
    }
  ],

2.创建文件

template是存放分包的文件夹。homepay这两个文件夹分别是template的子文件夹,里面可以放图片等其他资源和页面。
注意:静态资源哪个模块的就放哪个包下,不要共享,共享就会变成主包里的资源。这也就是为什么不直接把images文件放在template根路径的原因

3.查看分包效果

4.主包与分包之间的页面跳转

1)主包跳转到分包

注意:跳转的路径要带上分包里配置的root这一级(所有的相对路径全部写上),不然它找不到路径就会报错

主包:

<!--pages/user/index.wxml-->
<text>pages/user/index.wxml</text>
<image src="../images/1.jpeg"></image>
<navigator url="../../template/home/shop_house/shop_house">跳转shopping_house</navigator>
<navigator url="../../template/pay/pay_house/pay_house">跳转pay_house</navigator>

分包:

<!--template/pay/pay_house/pay_house.wxml-->
<text>template/pay/pay_house/pay_house.wxml</text>
<image src="../images/3.jpeg"></image>

2)分包跳转到主包

分包跳转到主包(方法很多种,我这里说两种)

  • wx.switchTab(Object object)

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,路径后不能带参数。

此方法跳转的页面必须是在tabBar定义过的页面

  • wx.reLaunch(Object object)

关闭所有页面,打开到应用内的某个页面,路径后面可带参数。

分包:

点击“去首页”,这样就直接去主页了

<navigator open-type="switchTab" url="/pages/index/index">去首页</navigator>

总结

到此这篇关于微信小程序分包操作的文章就介绍到这了,更多相关微信小程序分包操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解JavaScript如何实现异步并发任务控制器

    详解JavaScript如何实现异步并发任务控制器

    实现一个控制并发数的任务队列 、实现一个异步并发任务控制器,这已经是非常经典的手写题目了,因为其中涉及 异步 和 并发 的内容,所以本文就来讲讲到底如何实现呢
    2023-05-05
  • js Canvas实现的日历时钟案例分享

    js Canvas实现的日历时钟案例分享

    本文主要分享了js实现的日历时钟案例,具有一定的参考价值,下面跟着小编一起来看下吧
    2016-12-12
  • 原生JS实现微信通讯录

    原生JS实现微信通讯录

    这篇文章主要为大家详细介绍了原生JS实现微信通讯录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • JS类型判断的四种方法详解

    JS类型判断的四种方法详解

    JavaScript中有七种原始数据类型和几种引用数据类型,本文将清楚地介绍四种用于类型判断的方法,分别是typeOf、instanceOf、Object.prototype.toString.call()、Array.isArray(),并介绍其使用方法和判定原理,需要的朋友可以参考下
    2024-08-08
  • js遍历json的key和value的实例

    js遍历json的key和value的实例

    下面小编就为大家带来一篇js遍历json的key和value的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 深入学习js函数的隐式参数 arguments 和 this

    深入学习js函数的隐式参数 arguments 和 this

    这篇文章主要介绍了 深入学习js函数的隐式参数 arguments 和 this,arguments是一个类数组结构,它保存了调用时传递给函数的所有实参;this是函数执行时的上下文对象, 这个对象有些让人感到困惑的行为。 下面分别对他们进行讨论。,需要的朋友可以参考下
    2019-06-06
  • js 上下左右键控制焦点(示例代码)

    js 上下左右键控制焦点(示例代码)

    这篇文章主要是对js上下左右键控制焦点的示例代码进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • JavaScript进阶练习及简单实例分析

    JavaScript进阶练习及简单实例分析

    下面小编就为大家带来一篇JavaScript进阶练习及简单实例分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • myFocus slide3D v1.1.0 使用方法与下载

    myFocus slide3D v1.1.0 使用方法与下载

    myFocus slide3D v1.1.0 使用方法与下载,需要的朋友可以参考下。
    2011-01-01
  • 用显卡加速,轻松把笔记本打造成取暖器的办法!

    用显卡加速,轻松把笔记本打造成取暖器的办法!

    本篇文章小编为大家介绍,用显卡加速,轻松把笔记本打造成取暖器的办法!需要的朋友可以参考一下
    2013-04-04

最新评论