关于bundle内脚本大小的提问

有办法只加载bundle内单个脚本吗,
因为目前做的游戏是闯关类,单独弄了一个存储所有关卡脚本的bundle,然后在进入游戏的时候去加载这个包,但是关卡越来越多,现在这个包的大小大概在3m左右,会影响性能吗,需要以后每个关卡的代码都弄个单独分包吗,
求大佬指点!

顶一下zsbd

你脚本都分包了,不如把对应脚本放在分包里

加载bundle本来就只是加载了bundle内的index.js和config.json。

这个index.js太大了会影响加载速度吗

当然会啊,加载脚本 一个是IO消耗,一个是Parse消耗

那大佬后续的解决方法只能是每个脚本都再单独弄一个分包吗,因为关卡的包放在远程,代码会存在本地主包里

顶一下,求大佬

求大佬解答

正确的设计应该是按照模块分一个关卡的代码跟资源在一个包,而不是所有代码跟配置放到一个包吧

但是关卡包传到cdn后,代码会保存在本地主包导致主包超4m,所以代码就都写到了一个小游戏包里,还有更好的解决办法吗,或者有办法把src/script这个包变成小游戏分包吗

没想明白你的关卡数据为什么这么大。
方法一、关卡数据存取都用二进制流DataView
方法二、关卡分包,例如:你有1000关,每500关放一个bundle。
首次进游戏是653关,loading的时候就加载500-999关这个bundle,加载完存自己的缓存里方便管理。
游戏开始后,后台加载其余所有关卡的bundle,也都存入缓存。
其余资源也一样,不是首屏需要的资源,统统不要在Loading的时候加载,例如:背景音乐、帮助、关于页面的素材等等。
不同类型资源,在bundle里放不同文件夹,这样读bundle的时候可以根据文件夹名称来选择相应的资源读取方式