鸿蒙三层架构,鸿蒙模块依赖、鸿蒙依赖模块,鸿蒙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表示业务名称
  }
}

完成

相关推荐
小雨下雨的雨3 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
不爱吃糖的程序媛8 小时前
鸿蒙服务卡片实战:为新华字典应用添加桌面快捷查询卡片
华为·harmonyos
Davina_yu10 小时前
弹窗交互:AlertDialog与CustomDialog的创建与关闭(11)
harmonyos·鸿蒙·鸿蒙系统
90后的晨仔11 小时前
HarmonyOS 锁屏音频播放完整实践指南
harmonyos
90后的晨仔11 小时前
鸿蒙应用动态桌面图标功能实现完全指南
harmonyos
nashane11 小时前
HarmonyOS 6学习:JsCrash“闪退”法医指南——从FaultLog堆栈还原崩溃现场的终极手册
学习·华为·harmonyos
李二。12 小时前
鸿蒙OS NEXT 批量重命名工具:PC端文件管理的效率革命
华为·harmonyos
HwJack2013 小时前
鸿蒙背景下 Cocos Creator 的三大 JS 引擎:JIT 与热更新的十字路口
javascript·华为·harmonyos
提子拌饭13313 小时前
Column 嵌套布局:多级 Column 实现复杂纵向结构——鸿蒙 HarmonyOS ArkTS 原生学习应用
学习·华为·harmonyos·鸿蒙·鸿蒙系统