新建一个鸿蒙工程后,左侧的目录树会让新手眼花缭乱:entry、ohosTest、AppScope、resources……它们各司其职,理解这个结构是进阶开发的第一步。
工程与模块
一个鸿蒙工程可以包含多个模块(Module),默认有一个 entry 模块,也就是应用的主入口模块。模块是独立编译、独立打包的基本单元,多模块工程适合大型应用按功能拆分。
模块内部有 src(源码)、ohosTest(测试)、build-profile.json5(构建配置)等核心内容。

源码目录
src/main 下是主代码:ets 目录放 ArkTS 源码,resources 目录放资源文件,module.json5 是模块配置(权限、入口页面、能力声明都在这里)。
模块配置里有一个重要概念:Ability,它声明了应用有哪些入口能力。改权限、改启动页面,都要动这个文件。
资源管理
resources 目录按类型组织:base/element 放字符串、颜色、尺寸等基础资源,base/media 放图片等媒体资源,还可以按设备类型(phone、tablet)和语言分目录。
资源文件用 $r() 引用,比如字符串资源 $r(‘app.string.app_name’)。把文案和图片放进资源而不是写死在代码里,是国际化和多设备适配的基础。

配置文件
build-profile.json5 定义签名、编译选项;hvigorfile.ts 是构建脚本;AppScope 里的 app.json5 描述应用级信息(应用名称、图标、版本)。
上架前要填的应用版本号、包名、图标,就在这些配置文件里。
给新手的建议
一开始不用全部吃透:先把“模块→源码→资源→配置”这条主线记住,需要改什么知道去哪改就行。随着项目变复杂,再深入学习多模块和自定义构建。
工程结构就像房子的骨架,骨架清楚了,添砖加瓦才不慌。