一、生成离线包
1、构建前端.zip包
离线包 ID(即下文中的一级目录)必须为数字。

一级目录:一般资源包的 ID,如 00025000。
二级目录及往后即为业务自定义的资源文件。建议所有的前端文件最好保存在一个统一的目录下,如 /www,并设定当前离线包默认打开的主入口文件,如 /www/index.html。
2、生成.zip包
可直接将 appId 所在的目录整体压缩为一个 zip 包。

二、在线生成 .amr 包
将上一步的 .zip 包上传到 MDS 发布平台,生成 .amr 包。(实时发布-离线包管理)

⚠️主入口URL:可以看做离线包的首页,若前端把多个功能封到一个离线包内,可通过启动参数实现跳转不同功能首页.
二、加载离线包
1、初始化配置
首先需要对 Nebula 容器离线包相关配置进行初始化。

2、预置离线包
将从发布平台下载的离线包添加到工程中,具体添加路径为上一步设置的 PresetAppPackagePath 的值。
从发布平台下载 h5_json.json 文件,在工程中配置预置离线包信息,具体路径为上一步设置的 PresetApplistPath 的值。目前发布平台仅支持下载单个离线包的h5_json.json配置文件,在内置多个离线包时,需要手动合并 JSON 文件中 data 数组(可将json 文件转成plist文件使用)

3、动态更新离线包
前端资源更新后,打包生成新的前端 zip 包。上传离线包。上传离线包时,必须升级版本号,才能保证客户端能请求新的包信息。离线包上传完成后,创建发布任务。
客户端将 MPNebulaHandler 宏打开(一定要把默认的//#ifdef MPNebulaHandler、//#endif注掉)

可以预加载以获取包信息并下载离线包,以防止打开离线包时白屏:

网友评论