鸿蒙Next app文件目录结构详解
“最近在研究鸿蒙Next开发,想请教一下它的app文件目录结构具体是怎样的?各个文件夹的作用分别是什么?比如entry、resources这些目录都存放哪些类型的文件?有没有官方推荐的目录管理规范?开发时需要注意哪些目录结构的特殊要求?”
2 回复
鸿蒙Next(HarmonyOS NEXT)应用目录结构如下:
- AppScope > resources:存放全局资源,如图标、字符串等。
- entry:主模块目录
- src > main:
- ets:业务逻辑代码
- entryability:应用启动逻辑
- pages:页面文件(UI+逻辑)
- resources:模块资源文件(图片、布局等)
- module.json5:模块配置文件
- ets:业务逻辑代码
- build-profile.json5:模块构建配置
- src > main:
- ohosTest:测试代码目录
- build-profile.json5:工程级构建配置
- hvigorfile.ts:构建脚本
核心特点:
- 采用模块化设计,entry为默认主模块
- 资源分全局(AppScope)和模块级
- 使用ets替代js/ts开发
- 配置文件采用json5格式
建议:开发时先配置module.json5声明权限和页面路由,再在pages目录编写页面代码。
更多关于鸿蒙Next app文件目录结构详解的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next(HarmonyOS Next)应用采用清晰的文件目录结构,便于模块化开发与资源管理。以下是核心目录及文件说明:
1. 项目根目录
AppScope:应用全局资源与配置resources:全局资源(图片、字符串等)app.json5:应用级配置(包名、版本、权限等)
entry:主模块(应用入口)src/main:核心代码与资源ets:业务逻辑代码entryability:UIAbility入口pages:页面组件
resources:模块资源文件module.json5:模块配置(Ability声明、路由等)
build-profile.json5:构建配置(依赖、签名等)
2. 关键文件详解
-
app.json5(AppScope下):{ "app": { "bundleName": "com.example.app", "version": { "code": 1, "name": "1.0.0" } } } -
module.json5(entry/src/main下):{ "module": { "name": "entry", "pages": "$profile:main_pages", // 页面路由配置 "abilities": [ { "name": "EntryAbility", "srcEntry": "./ets/entryability/EntryAbility.ets" } ] } }
3. 资源管理
resources/base:通用资源(多语言字符串、图片等)resources/rawfile:原始文件(如音频、字体)- 资源通过
$r('app.type.name')引用,例如:
$r('app.string.app_name')
4. 开发规范
- 页面组件需在
pages目录中定义,并在main_pages.json注册。 - 模块化开发时,可创建多个
har(静态共享包)或hsp(动态共享包)。
总结
鸿蒙Next结构强调模块隔离与资源分层,通过配置文件统一管理能力与路由,适合跨设备协同开发。建议结合官方文档进一步学习。

