您的位置:首页 > 教育 > 培训 > 鸿蒙三层架构,鸿蒙模块依赖、鸿蒙依赖模块,鸿蒙hap、鸿蒙hsp、鸿蒙har

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

2025/5/24 22:26:47 来源:https://blog.csdn.net/jian11058/article/details/141572102  浏览:    关键词:鸿蒙三层架构,鸿蒙模块依赖、鸿蒙依赖模块,鸿蒙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": {'@hw-agconnect/cloud': "^1.0.0",'@hw-agconnect/hmcore':  "^1.0.0",'@hw-agconnect/auth-component':  "^1.0.0",'long': '^5.2.1','@zjian/basic': 'file:../../common/basic'}
}

完成

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com