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

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表示业务名称
  }
}

完成

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部