HarmonyOS鸿蒙Next中关于module的type类型问题

HarmonyOS鸿蒙Next中关于module的type类型问题 根据文档介绍,entry是只能有一个的入口类型。feature是可以有多个的动态模块,其实就是可以跟入口组成复杂功能app的作用的。

他们两个编译后都是**.hap**文件。

手动创建module,默认类型我看都是har。这类型是静态共享包。编译的时候是**.har**文件,哪个module引用他,就会跟他打包到一起。每个都引用就都会打包多少个。

而shared类型。就是动态共享包,编译出来是**.hsp**文件。无论谁引用了他,都只有一份。会出现在app包里面。

现在做的项目。默认创建其他功能module都是**.har的,之前不懂,写的项目都是默认这个har的module,发现构建app都只有一个.hap**文件。

主动改成feature会必须加一个deliveryWithInstall属性。就是问你要不要和主**.hap**一起打包的。false就是用的时候再下载,不会打进app里面。

那这个用的时候再下载是我们需要写个什么什么逻辑吗。还是设置了false,你代码里引用了他,用的时候就自动下载了。还有就是你引用了他,没下载他,那代码不会找不到里面的资源报错吗。

还有就是,有没有开发大型项目的。你们的动态功能模块。真的都是feature类型吗?还是就默认har的。


更多关于HarmonyOS鸿蒙Next中关于module的type类型问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

deliveryWithInstall可以方便开发者按需加载所需模块,减小包大小。开发者可以将一个应用的某些HAP配置成按需加载。应用在启动阶段初始用不到的特性,可以配置暂不加载,当用户用到这些特性的时候,可由应用自动下载这些特性HAP。

HAP、HAR、HSP使用场景参考

更多关于HarmonyOS鸿蒙Next中关于module的type类型问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


所以 是设置了false就不用管了,app突然用到这个模块引用的位置了它就自动下载了吗?

项目名称

  • 状态:已发布
  • 技术栈:Python, JavaScript, HTML, CSS
  • 开源许可:MIT
  • 最后更新时间:2023-09-15

好的谢谢,

基本信息
姓名: 张三
职位: 软件工程师
技能: Python, Java, C++

项目经验

  • 项目一: 学生成绩管理系统

    • 描述: 开发了一个学生成绩管理的Web应用
    • 技术栈: Django, MySQL
  • 项目二: 在线商城

    • 描述: 参与了在线商城的后端开发
    • 技术栈: Flask, PostgreSQL

在HarmonyOS鸿蒙Next中,moduletype类型用于定义模块的角色和功能。type类型决定了模块在系统中的行为和加载方式。常见的type类型包括entryfeatureharhap等。entry类型模块通常作为应用的入口模块,负责启动应用;feature类型模块用于实现特定功能,可以被其他模块依赖;har类型模块是静态共享库,包含公共代码和资源;hap类型模块是HarmonyOS应用包,包含应用的代码和资源。type类型的正确配置对于模块的编译、打包和运行至关重要。

在HarmonyOS鸿蒙Next中,module的type类型用于定义模块的功能和用途。常见的type类型包括:

  1. entry:主模块,包含应用的入口和核心功能。
  2. feature:功能模块,提供特定功能或服务。
  3. har:静态库模块,包含共享的代码和资源。
  4. js:JavaScript模块,用于基于JS的应用开发。
  5. native:原生模块,包含C/C++代码。

通过合理配置type,开发者可以更好地组织和管理项目结构,提升开发效率和代码复用性。

回到顶部