鸿蒙三层架构,鸿蒙模块依赖、鸿蒙依赖模块,鸿蒙hap、鸿蒙hsp、鸿蒙har

一、产品定制层、基础特性层、公共能力层

1.1、产品定制层:product

应用的入口,

1.2、基础特性层:feature

业务:首页、我的

1.3、公共能力层:common

方法能力复用

一次开发,多段部署

3层架构的包,可以是har包,也可以是hsp包

har静态共享包

不支持依赖循环、A模块依赖B模块,B模块依赖A模块

不支持依赖传递,即:A模块依赖B模块,B模块依赖C模块

可以发三方库,

hsp动态共享包

多个hap/hsp共用的代码和资源放在一个HSP中,可以提高代码、资源的可重用性,只需要一份hsp包,减少了app的空间

不能发三方库

hsp拷贝一份,har会拷贝多份

二、项目中,使用三层架构步骤:

2.1、新建3个目录:product、features、common

2.2、分别在common中,新建1个模块,且选择hsp包,模块名可以命名为:basic

2.3、分别在features中,新建1个模块,且选择hsp包,模块名可以命名为:home、mine、login

2.4、product入口,汽车端,平板端,把默认的entry文件夹,移到该目录下,并重命名为:phone;

如果要在此目录新建平板端的项目,需要新建模块,并且选择hap包,因为只有hap才有页面

调出运行配置,将 deploy multi hap => deploy multi hap packages 勾上,并且下拉出来的选框,都勾上

三、模块之间依赖

在common中,想新建一个head的公共组件,phone模块想依赖这个组件,分2步

3.1、在common => index 文件中,先要导出head组件:

复制代码
export *from './src/main/ets/components/Head'




注意:Head要有export关键字

3.2、在phone => oh-package.json5文件中,设置依赖:

依赖前:

复制代码
{
  "name": "phone",
  "version": "1.0.0",
  "description": "Please describe the basic information.",
  "main": "Index.ets",
  "author": "",
  "license": "Apache-2.0",
  "packageType": "InterfaceHar",
  "dependencies": {
  }
}

依赖后:

复制代码
{
  "license": "",
  "devDependencies": {},
  "author": "",
  "name": "phone",
  "description": "Please describe the basic information.",
  "main": "",
  "version": "1.0.0",
  "dependencies": {

    '@zjian/basic': 'file:../../common/basic'
    //格式:@zjian表示组织,basic表示业务名称
  }
}

完成

相关推荐
youyin5 天前
HarmonyOS ArkUI 组件与自定义组件零基础:从搭页面到组件化开发
华为·harmonyos
HwJack205 天前
【HarmonyOS开发小实践】ArkTS 从 TypeScript 到方舟语言的演进
华为·harmonyos
张星河zen5 天前
4096卡、8EFLOPS、7.2T NPO:华为昇腾960超节点详解
华为·ai训练·ai推理·超节点·npo·昇腾960·hi-one
梦想不只是梦与想5 天前
鸿蒙 应用发布:软件上传流程(二)
鸿蒙·应用发布·软件上传
云运维笔记5 天前
华为设备IP地址配置全攻略
运维·网络·计算机网络·华为
威哥爱编程5 天前
HarmonyOS 7 星盾机密风控实战:设备风险因子端侧融合计算,可用不可见
harmonyos·arkts
威哥爱编程5 天前
HarmonyOS 7 应用快启实战:关键资源预加载进内存,冷启告别白屏
华为·harmonyos·arkts
马剑威(威哥爱编程)5 天前
【共创稿事节】HarmonyOS 7 视觉 AI 进阶实战:人脸检测 + 通用文字识别(OCR)两步接入
华为·harmonyos·arkts
HMS Core6 天前
HarmonyOS智慧多窗,让应用在任意窗口都“恰到好处”
harmonyos