首页
学习
活动
专区
工具
TVP
发布

uniapp分包

——莫言 我们在使用uniapp进行微信小程序开发时可能会遇到如下情况: 这是因为微信小程序官方文档提到: 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载...在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。...所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。...在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。...目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 20M 单个分包/主包大小不能超过 2M 对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作

1.6K10

分包异步化 分包难题不用怕

多业务的分包难以划分 分包体积膨胀 下载并注入无用代码 插件无法实现分包处理 …… 为解决上述问题,微信团队提供【分包异步化】新能力,实现跨分包组件、跨分包方法,成功解决分包难、分包不合理等问题。...• • 分包异步化原理 • • 原有的分包隔离机制导致各分包之间无法引用自定义组件或逻辑代码,因此导致分包难等一系列问题。...分包异步化能力打通不同分包的引用关系,解决小程序代码包合理化的问题,支持跨分包组件、跨分包方法。...分包异步化.png • • 跨分包组件 • • 当使用其他分包组件时,代码包需要增加占位组件 (component placeholder),实现页面高效配置。...例如页面展示时,分包 (subpackageB) 仍未下载,进行以下操作实现跨分包组件: 1.

95150
您找到你想要的搜索结果了吗?
是的
没有找到

按功能(特性)分包

一种流行的方法是通过技术层面对项目进行分包。但是这种方法有一些缺点。相反,我们可以按功能分包并创建独立自治的程序包。结果是一个易于理解且不易出错的代码库。 ?...整体分析 按照技术分包造成的缺点: 对属于某个功能的所有类的概述不佳。 通用代码、重用代码和复杂代码趋向于难以理解,并且由于难以把握变更的影响,因此变更很容易破坏其他功能用例。...按功能分包从而创建包含功能所需的所有类的程序包。好处是: 更好的可发现性和概览 独立且自治 更简单的代码 可测试性 便于团队协作开发 按照技术分层分包 项目结构的一种非常流行的方法是逐层分包。...⚠️:按层分包从技术角度对所有类进行分组 让我们将调用层次结构添加到图片中,以“清楚地”了解哪个类取决于其他哪个类。 ? ⚠️:调用层次结构遍及整个项目,涉及许多包 那么,按层分包的缺点是什么?...关于按功能分包的部分如下所示: 我们基于功能分包。每个功能包均包含提供该功能所需的大多数代码。每个功能包都应独立且自治。

95821

小程序分包加载

开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。 在构建小程序分包项目时,构建会输出一个或多个分包。...每个使用分包小程序必须包含 一个主包,所谓的主包,即放置默认启动页/TabBar 页面,以及一些所有分包需要用到 整个小程序所有分包大小不超过 8M单个分包/主包大小不能超2M 对小程序进行分包,可以优化小程序首次启动的下载时间...: 字段 类型 说明 root String 分包根目录 name String 分包别名,分包预下载时可以使用 pages StringArray 分包页面路径,相对与分包根目录 independent...  独立分包是小程序的一种特殊类型的分包,可以独立于主包和其他分包独立运行。...,普通分包的所有限制独立分包有效。

1.7K40

dex分包变形记

所以,最终我们采用了 dex 分包的方案,来避开了 Android 3.0以下平台的方法数和 LinearAlloc 限制。...简单的说,分包就是在打包时将应用的代码分成多个 dex,使得主 dex 的方法数和所需的 LinearAlloc 不超过系统限制。...生成的 apk 包跟 dex 分包前一样。为什么会这样?...---- 四、性能影响 Dex 分包后,如果是启动时同步加载,对应用的启动速度会有一定的影响,但是主要影响的是安装后首次启动。...由于分包是一个比较复杂和耗时的过程,开始时分包脚本的性能并不理想,后来经过我们两次优化,将打包过程中的分包时间从7分多钟优化到10秒以内; (3) 研究未来可能的按需加载或异步加载从 dex 的问题。

1.6K110

小程序分包的一些思考及Uiniapp 分包优化逻辑的验证

分包 什么是分包 分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。...分包的好处 对小程序进行分包的好处主要有以下两点: 可以优化小程序首次启动的下载时间 在多团队共同开发时可以更好的解耦协作 uniapp 分包配置 按官网,假设支持分包的 uni-app 目录结构如下:...显然,只要路径不变化,但能正确分包不就可以解决这个问题了。 在细想一下分包,无非就是在 subPackages 中指定一个分包名,分包页面对应该分包名下的文件。...分包预加载 分包预载配置。配置 preloadRule 后,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度。...分包优化具体逻辑 静态文件:分包下支持 static 等静态资源拷贝,即分包目录内放置的静态资源不会被打包到主包中,也不可在主包中使用 js文件:当某个 js 仅被一个分包引用时,该 js 会被打包到该分包

1.3K21

当dex分包遇上NoClassDefFoundError & ClassNotFoundException

简介 本文记录的是:国庆节前夕,解决Crash率高达9.08%问题成功避免加班拿3倍工资的故事 PS: 除了在时间上两者相遇外,本文中提到的两个(top1&top2)crash问题与dex分包并没有关系...,于是dex分包合情合理的成了头号怀疑对象,但是Check分包方案后有如下疑问: Crash栈中的BaseActivity和SpaceCleanActivity在主dex中 这两个Crash在测试中不可复现...按常理,在主dex中的类,并不会出现NoClassDefFoundError/ClassNotFoundException这种Crash,不过谨慎起见我们还是对分包方案进行了一翻研究,也做了一些微调,...并做了小量灰度,然而并没有效果 ---- 意外发现Crash与dex分包无关(2015-09-28) 2015-09-28: 在经过几次分包方案调整后依然不见效果,项目时间紧迫,为了尽快暴露其它Crash...,我们尝试先针对android 3.0以上用户灰度一个不带分包方案的版本, 2015-09-29: 发现不带dex分包方案的灰度版本中依然出现之前的 TOP1&TOP2 Crash ---- 重新审视问题

2.3K90

Webpack 性能系列四:分包优化

optimization: { splitChunks: { chunks: 'all', }, }, } 2.2 分包策略详解 2.2.1 根据 Module 使用频率分包...例如对于一个 Chunk A,如果根据分包规则(如模块引用次数、第三方包)分离出了若干子 Chunk A¡,那么请求 A 时,浏览器需要同时请求所有的 A¡,此时并行请求数等于 ¡ 个分包加 A 主包,...,并行数为 2 + 1 = 3,此时若 maxInitialRequest = 2,则分包数超过阈值,SplitChunksPlugin 会放弃 common-1 、common-2 中体积较小的分包。...:超过这个尺寸的 Chunk 才会正式被分包 maxSize:超过这个尺寸的 Chunk 会尝试继续做分包 maxAsyncSize:与 maxSize 功能类似,但只对异步引入的模块生效 maxInitialSize...此时,可以将 optimization.runtimeChunk 设置为 true,以此将运行时代码拆分到一个独立的 Chunk,实现分包。 四、最佳实践 那么,如何设置最适合项目情况的分包规则呢?

3.4K10

京东快递小程序分包优化实践

随着项目规模增大,小程序分包优化是必须要面对的问题。分包不合理,不仅影响项目迭代和上线计划,还关乎用户体验,甚至因此导致 C 端用户流失。...为了防止主包超限,以及更好地多人协作,开发人员可以对小程序进行分包,如将一组独立的功能页面作为分包打包,当用户进入分包页面时,宿主环境会动态下载对应分包,极大提高用户体验。...小程序平台对分包大小限制为 20M。小程序包加载流程图如图 2 所示。 图2 小程序包加载流程图 分包前准备— 本节主要介绍分包前的一些准备工作。...,主包涉及寄件、查件等黄金流程页面,分包成本大; 分包路径问题,有些页面路径已经给到外部,分包后涉及外部系统改造上线; 小程序分包优化实践— 本节主要介绍京东快递小程序分包优化实践。...主包黄金流程页面分包分包路径跳转问题 如果要对主包某个页面进行分包,但页面路径已提供给外部,分包改变路径后可能涉及其他系统改造上线。

9110
领券