一 概述
二 项目工程结构
2.1 逻辑结构
HarmonyOS应用发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成
2.2 工程目录构成
一个HAP在工程目录中对应于一个Module,它是由代码、资源、第三方库及应用清单文件组成,可以分为Entry和Feature两种类型
- Entry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行
- Feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不包含
2.3 部署包
- HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开,它是由一个或多个Ability组成。
- Ability分为两种类型:FA(Feature Ability,中文名称:元程序)和PA(Particle Ability,中文名称:元服务)
- FA/PA是应用程序的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面
三 java项目目录结构
3.1 java项目目录结构
3.2 项目说明
四 JS项目目录结构
4.1 JS项目目录结构
4.2 项目说明
- common目录:可选,用于存放公共资源文件,如媒体资源、自定义组件和JS文档等
- **i18n目录:**可选,用于存放多语言的json文件,可以在该目录下定义应用在不同语言系统下显示的内容,如应用文本词条、图片路径等
- **pages目录:**pages文件夹下可以包含1个或多个页面,每个页面都需要创建一个文件夹(如图中的index)。页面文件夹下主要包含3种文件类型:css、js和hml文件
- **pages>index>index.hml文件:**hml文件定义了页面的布局结构,使用到的组件,以及这些组件的层级关系
- **pages>index>index.css文件:**css文件定义了页面的样式与布局,包含样式选择器和各种样式属性等
- **pages>index>index.js文件:**js文件描述了页面的行为逻辑,此文件里定义了页面里所用到的所有的逻辑关系,比如数据、事件等
- **resources:**可选,用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件
- **app.js文件:**全局的Javascript逻辑文件和应用的生命周期管理