鸿蒙Next app文件目录结构详解

“最近在研究鸿蒙Next开发,想请教一下它的app文件目录结构具体是怎样的?各个文件夹的作用分别是什么?比如entry、resources这些目录都存放哪些类型的文件?有没有官方推荐的目录管理规范?开发时需要注意哪些目录结构的特殊要求?”

2 回复

鸿蒙Next(HarmonyOS NEXT)应用目录结构如下:

  • AppScope > resources:存放全局资源,如图标、字符串等。
  • entry:主模块目录
    • src > main
      • ets:业务逻辑代码
        • entryability:应用启动逻辑
        • pages:页面文件(UI+逻辑)
      • resources:模块资源文件(图片、布局等)
      • module.json5:模块配置文件
    • build-profile.json5:模块构建配置
  • ohosTest:测试代码目录
  • build-profile.json5:工程级构建配置
  • hvigorfile.ts:构建脚本

核心特点:

  1. 采用模块化设计,entry为默认主模块
  2. 资源分全局(AppScope)和模块级
  3. 使用ets替代js/ts开发
  4. 配置文件采用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结构强调模块隔离资源分层,通过配置文件统一管理能力与路由,适合跨设备协同开发。建议结合官方文档进一步学习。

回到顶部