工欲善其事必先利其器,先了解鸿蒙的项目结构,熟悉各个页面的属性,为下一步学习ArkTS语法做准备。
根据官网文档描述这个是ArkTS Stage模型的结构,另外还有FA模型的,这个先挖坑不理会,后面在去学习。
全部文件描述生成了一个表格,看起来和Android还是比较接近的,那就相对好理解了。

目录/文件名
说明

AppScope > app.json5
应用的全局配置信息。
entry
应用/服务模块,编译构建生成一个HAP。(可以理解成Android中的app)
src > main > ets
用于存放ArkTS源码。
src > main > ets > entryability
应用/服务的入口。
src > main > ets > pages
应用/服务包含的页面。
src > main > resources
用于存放应用/服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等。资源文件的详细说明请参考资源分类与访问。
base > element
base > media
包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义。
多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png、.gif、.mp3、.mp4等。
rawfile
用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。
src > main > module.json5
Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。具体请参考module.json5配置文件。
build-profile.json5
当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
hvigorfile.ts
模块级编译构建任务脚本。
oh-package.json5
描述三方包的包名、版本、入口文件(类型声明文件)和依赖项等信息。
oh_modules
用于存放三方库依赖信息,包含应用/服务所依赖的第三方库文件。
build-profile.json5
应用级配置信息,包括签名、产品配置等。
hvigorfile.ts
应用级编译构建任务脚本。
oh-package.json5
描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等。
app.json5
属性名称
含义
数据类型
bundleName
标识应用的Bundle名称,用于标识应用的唯一性。也就是报名。
比如:com.project.harmonyos
字符串
versionCode
标识应用的版本号,每次+1,和Android保持一致
数值
versionName
标识向用户展示的应用版本号。自己定义就行。
字符串
icon
标识应用的图标,取值为图标资源文件的索引。
字符串
label
标识应用的名称,取值为字符串资源的索引,字符串长度不超过63字节。
字符串
vendor
标识对应用开发厂商的描述,取值为长度不超过255字节的字符串。
字符串
更多参数定义请参考:文档中心
module.json5
module.json5定义和Android Manifest相类似,本质上作用差不太多。更多参数定义请参考:文档中心
Module级别的build-profile.json5
参考文档:文档中心
工程级别的build-profile.json5
参考文档:文档中心
oh-package.json5
导入依赖三方库,ohpm 存在 dependencies,devDependencies和dynamicDependencies 三种依赖类型。同时支持具体版本号,范围版本号,tag标签,本地har/tgz文件路径和本地源码目录多种方式引入依赖。
同样分为Module级别和项目级别的两类配置,和Android类似,自由配置。
oh-package-lock.json5 是系统自动生成的配置,所有下载成功的依赖都会存在这里面。
参考文档:文档中心
pages标签
页面路由配置列表 只有配置在列表中的页面才允许被打开
json5
JSON5(JSON for Humans)是一种基于JSON(JavaScript Object Notation)的扩展格式,旨在使JSON更加友好和人性化。它支持更灵活和宽松的语法,使得编写和阅读配置文件变得更容易。JSON5是JSON的超集,兼容现有JSON解析器。
注释:支持单行 (//) 和多行 (/ ... /) 注释。
宽松的语法:属性名和值可以省略引号(符合JavaScript标识符规则时)。允许尾随逗号。数字格式:支持十进制、十六进制、科学记数法、正负号、Infinity 和 NaN。字符串:支持单引号、双引号和多行字符串。保留字:允许JavaScript保留字作为属性名。本篇完事,各位再见。
下一篇文章主要学习HarmonyOS基础组件、UI元素、页面跳转ArkTs语法等。
#鸿蒙#