zoukankan      html  css  js  c++  java
  • 微信小程序——分包加载

    最近小白刚遇到小程序发布超2M问题,通过微信官方文档发现了‘分包加载’可以帮助解决目前问题。

    在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。

    在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。

    目前小程序分包大小有以下限制:

    • 整个小程序所有分包大小不超过 8M

    • 单个分包/主包大小不能超过 2M

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

    使用方法(自己demo)

    自己的demo结构:

    开发者可以通过在 app.json subPackages 字段声明项目分包结构(demo例子):

    subpackages 中,每个分包的配置有以下几项:

    字段类型说明
    root String 分包根目录
    name String 分包别名,分包预下载时可以使用
    pages StringArray 分包页面路径,相对与分包根目录
    independent Boolean 分包是否是独立分包

    打包原则

    • 声明 subpackages 后,将按 subpackages 配置路径进行打包,subpackages 配置路径外的目录将被打包到 app(主包) 中

    • app(主包)也可以有自己的 pages(即最外层的 pages 字段)

    • subpackage 的根目录不能是另外一个 subpackage 内的子目录

    • tabBar 页面必须在 app(主包)内

    引用原则

    • packageA 无法 require packageB JS 文件,但可以 require app、自己 package 内的 JS 文件

    • packageA 无法 import packageB 的 template,但可以 require app、自己 package 内的 template

    • packageA 无法使用 packageB 的资源,但可以使用 app、自己 package 内的资源

    packageA和packageB之间的页面可以来回的跳转,尽量把公用的js或者wss放到分包外,方便调用。

  • 相关阅读:
    XML节点处理
    Log4Net使用记录
    WPF选择文件夹及文件操作
    SQL 一些语句记录
    一篇MSSQL事务的测试文章
    游标示例
    WPF实现多线程加载数据
    MS SQL索引学习
    Entity Framework 利用 Database.SqlQuery<T> 执行存储过程,并返回Output参数值
    手持移动端特殊链接:打电话,发短信,发邮件
  • 原文地址:https://www.cnblogs.com/javabianhua/p/11884696.html
Copyright © 2011-2022 走看看