怎么缩小移动端 app(Android & iOS)打包的体积,等需要使用到某功能的时候,再下载对应的代码/Javascript 等等

2023-04-21 09:06:28 +08:00
 yazoox

如题,

我这边是开发前端的组件,使用的是 react+typescript ,webpack4 打包。基本都是 client 端运算的代码,其它远程 API 比如 resetful api 等调用比较少。最后打包的结果,是托管 在 aws 上面的。也有配置 cdn 。

本来只用于网页端,但最近有另外一个组,打算使用我们组开发的功能组件,用在他们的移动端 app 上面去(这里不讨论 UI 适配的问题)。说什么他们的 app 安装包的大小有限制(我不知道是 Android 还是 iOS ,他们两个平台都要做),让我们缩小组件打包后的体积。

我们是一个功能,就对应一个 package 。该使用的优化,我们在 webpack 打包的时候,已经优化了,没办法再缩小体积了。

最近两天,我研究了一下 react 的 code splitting & lazy load ,以及 dynamic import 技术。这个虽然是后面使用时再加载,但是 打开网页时,js 应该已经下载了,只是没有加载?还是说,lazy js 的代码还在服务器,要等到 lazy load 的时候,才会下载再加载?以及,能够缩小最后的移动 app 打包体积么?

我记得,现在很多国内的 app ,安装包好像包括的功能都不完全,都是 app 运行后,再下载“一堆“东西。他们使用的什么技术,有没有比较成熟的方案?

有没有兄弟姐妹做过这方面的优化,分享一些经验。

谢谢!

461 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/934203

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX