鸿蒙开发5.0【har和hsp的转换】

一、场景描述

伙伴开发过程中可能会遇到共享包转型场景,主要有hsp转har包和har转hsp包两种情况,由此经常要求提供har和hsp转换方案。共享包转换核心思路就是将配置文件统一,比如将hsp支持的配置文件转换为har的配置文件,主要涉及module.json5、hvigorfile.ts、build-profile.json5文件,以及路由方式切换等场景。

二、方案描述

场景一:hsp转har包

提供方hsp包转换

1.在hsp下的module.json5中,把"type": “shared"修改为"type”: “har”,删除"deliveryWithInstall"、"pages"字段。

4

2.由于har中不能声明page,需要先删除原hsp中module.json5的page声明;har不能用router.pushurl路由方式,需要修改原有router.pushurl路由为navigation(推荐)或命名路由跳转方式,以navigation为例,使用组件导航的demo如下:

3

左entry中Index页面,右har1中pageOne页面

若沿用router的方式,需要使用命名路由的方式

3.然后再找到hsp下的hvigorfile.ts文件,将里面的hspTasks改为harTasks。

2

4.(可选)如需要指定该library被依赖时的混淆规则(该项仅har模块可配置,可在build-profile.json5添加配置"consumerFiles": ‘./consumer-rules.txt’ 。

1

5.清理重新安装打包(clean——>build)

引用方引用har包

转化前引用hsp包:

1

转换后引用har包:

源码方式依赖:

2

将产物har包放到引用模块下依赖:

3

场景二:har转hsp包

提供方har包转换

1.在har下的module.json5中,把"type": “har"修改为"type”: “shared”,添加"deliveryWithInstall"。

4

2.(可选)当Hsp需要对外声明router可跳转的page时,需要添加module.json5的"pages"字段,并在resources/base目录下建立profile/main_pages.json文件,添加配置参考如下,并在对应位置添加页面。

![5](https://i-blog.csdnimg.cn/direct/6844c1089f4649f09630eb101b9d4b68.png)

3.再找到har下的hvigorfile.ts文件,将里面的harTasks改为hspTasks。

6

4.har包的build-profile.json5默认会有"consumerFiles": ‘./consumer-rules.txt’ ,该项仅har模块可配置,为默认导出的混淆规则),需将其删除。

7

5.清理重新安装打包(clean——>build)

引用方引用hsp包

转换前引用har包:

8

转换后引用hsp包:

9

以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解;想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到!
下面是鸿蒙的完整学习路线,展示如下:
1

除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完整的学习【文档+视频】,内容包含如下

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!

鸿蒙【北向应用开发+南向系统层开发】文档

鸿蒙【基础+实战项目】视频

鸿蒙面经

2

为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自拿喔!谢谢大家观看!
3

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值