只有三个目录:
AppScope【全局】entry【模块】configuration【配置】AppScope 全局资源目录该目录下放了两样东西,一个是全局资源,还有全局配置文件。
作用如下:

其实这个 AppScope 目录非常好理解,它里面最重要的文件只有一个:app.json5。
app.json5 里面写的是你应用的配置信息,比如应用名称、应用图标等等。
它上方的 resources 目录纯粹是为它服务的。也就是说,app.json5 要什么资源文件都从它上方 resources 里面取。
entry 应用/服务模块目录为什么它叫“entry”?
其实它是一个模块,这个模块叫“entry”,entry 是入口的意思,所以这是个入口模块。
一个应用由至少一个模块组成,所以我们把应用的入口模块叫作 entry。
该目录下的东西非常多,不过经过梳理后也非常容易理解。
最开始的三个目录的作用分别是存放源代码、模块的配置、模块的资源。
ets【源代码】configuration【模块配置】resources【模块资源】
接下来,我们一个一个来看。
首先是 ets 目录,这是最最最重要的目录,它是我们日常开发中经常使用的目录。
因为开发就是写代码,而代码就放在 ets 目录下,所以这个是我们着重关心的目录。
entryability【入口 Ability 目录】EntryAbility.ts【入口 Ability】pages【页面目录】Index.ets【Index 页面】test【测试目录】Ability.test.ets【Ability 的单元测试】List.test.ets【List 的单元测试】
接着,configuration 里面存放的都是有关模块的配置,平时用到的时候不多。
build-profile.json5【当前的模块信息、编译信息配置项,包括buildOption、targets配置等】hvigorfile.ts【模块级编译构建任务脚本】module.json5(main)【Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息】module.json5(ohosTest)【Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息】oh-package.json5【配置三方包声明文件的入口及包名】
再接着,resources 目录使用频率仅次于 ets,因为它里面放的都是图片、字符串、颜色、样式等资源。
因为 main 和 ohosTest 目录结构相同,所以只列出其中一个目录结构来讲解。
main 的目录结构:
base【基本资源】element【json文件】color.json【颜色】string.json【字符】media【多媒体文件】icon.png【图片】profile【配置】main_pages.json【页面配置】en_US【国际化-英文】element【json文件】string.json【字符】rawfile【用于存储任意格式的原始资源文件】zh_CN【国际化-中文】element【json文件】string.json【字符】configuration 应用/服务全局配置目录configuration 里面存放的都是和构建应用、第三方库配置相关的。
build-profile.json5【应用级配置信息,包括签名、产品配置等】hvigorfile.ts【应用级编译构建任务脚本】local.properties【本地配置环境,记录了hwsdk和nodejs的目录】oh-package.json5【第三方库】oh-package-lock.json5【第三方库的快照】总结AppScope 存放的是和全局相关的。entry 存放的是和模块相关的。configuration 存放的是和应用构建、第三方库相关的。