本节介绍应用工程结构及各个配置文件的含义。
工程的目录结构如图1-31所示。
图1-31 工程级目录
详细说明如下:
· AppScope中存放应用全局所需要的资源文件。
· entry是应用的主模块,存放HarmonyOS应用的代码、资源等。
· node_modules是工程的依赖包,存放工程依赖的源文件。
· build-profile.json5是工程级配置信息,包括签名、产品配置等。
· hvigorfile.ts是工程级编译构建任务脚本,Hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排、工程模型管理、配置管理等核心能力。
· package.json是工程级依赖配置文件,用于记录引入包的配置信息。
在AppScope中还有resources文件夹和配置文件app.json5。
在AppScope中的resources文件夹下的base中包含element和media两个文件夹。其中element文件夹主要存放公共的字符串、布局文件等资源;media文件夹存放全局公共的多媒体资源文件。
entry模块级目录如图1-32所示。
图1-32 entry模块级目录
entry下的src目录中主要包含总的main文件夹、单元测试目录ohosTest以及模块级的配置文件。
· 在main文件夹中,ets文件夹用于存放ets代码,resources文件夹用于存放模块内的多媒体及布局文件等,module.json5文件为模块的配置文件。
· ohosTest是单元测试目录。
· build-profile.json5是模块级配置信息,包括编译构建配置项。
· hvigorfile.ts文件是模块级构建脚本。
· package.json是模块级依赖配置信息文件。
进入src→main→ets目录,如图1-33所示。其分为entryability和pages两个文件夹。entryability存放Ability文件,用于当前Ability应用逻辑和生命周期管理;pages存放UI界面相关代码文件,初始会生产一个Index页面。
图1-33 ets目录
resources目录下存放模块公共的多媒体、字符串及布局文件等资源,分别存放在element、media文件夹中,如图1-34所示。
图1-34 resources目录
1 app.json5
AppScope下的app.json5是应用的全局配置文件,用于存放应用公共的配置信息。
其中配置信息如下:
· bundleName是包名。
· vendor是应用程序供应商。
· versionCode用于区分应用的版本。
· versionName是版本号。
· icon是应用的显示图标。
· label是应用名。
· distributedNotificationEnabled描述应用程序是否已分发通知。
2 module.json5
依次打开entry→src→main文件夹,其下的module.json5是模块的配置文件,包含当前模块的配置信息。
其中module对应的是模块的配置信息,一个模块对应一个打包后的HAP(HarmonyOS Ability Package),其中包含Ability、第三方库、资源和配置文件。其具体属性及其描述如表1-1所示。
表1-1 module.json5默认配置属性及描述
表1-2 abilities中对象的默认配置属性及描述
3 main_pages.json
依次打开src→main→resources→base→profile文件夹,其下的main_pages.json文件保存的是页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置。