你瞅啥呢

2026-03-03 由DevEco创建的鸿蒙app需要关注哪些目录和文件(deepseek)

项目结构目录

hw260302/
├── .hvigor/                          # Hvigor构建缓存和输出(自动生成,无需关注)
│   ├── outputs/
│   │   ├── logs/
│   │   ├── sync/
│   │   └── report/
│   └── ...
│
├── .idea/                             # IDE配置文件(自动生成,无需关注)
│
├── AppScope/                          # 应用全局配置(重要)
│   ├── app.json5                      # 应用全局配置(包名、版本、图标等)
│   └── resources/
│       └── base/
│           └── element/
│               └── string.json        # 全局字符串资源
│
├── entry/                              # 主模块目录(核心开发目录)
│   ├── .hvigor/                        # 模块级构建缓存
│   ├── build/                           # 构建输出(自动生成,无需关注)
│   ├── src/
│   │   ├── main/                         # 主源代码(重点)
│   │   │   ├── module.json5               # 模块配置文件
│   │   │   └── ets/                        # ArkTS源代码(核心)
│   │   │       ├── entryability/            # Ability生命周期
│   │   │       │   └── EntryAbility.ts
│   │   │       ├── pages/                    # 页面(重点)
│   │   │       │   └── CategoryPage.ets
│   │   │       ├── view/                      # 自定义UI组件(重点)
│   │   │       │   ├── DetailListComponent.ets
│   │   │       │   ├── SideListComponent.ets
│   │   │       │   └── TopComponent.ets
│   │   │       ├── viewmodel/                 # 视图模型(数据逻辑)
│   │   │       │   └── CategoryViewModel.ets
│   │   │       └── common/                     # 公共代码
│   │   │           ├── constants/               # 常量定义
│   │   │           │   └── CommonConstants.ets
│   │   │           └── bean/                    # 数据实体类
│   │   │               ├── TabItem.ets
│   │   │               ├── SideListItem.ets
│   │   │               ├── DetailListItem.ets
│   │   │               └── DetailItemData.ets
│   │   │   └── resources/                     # 资源文件(重点)
│   │   │       ├── base/                        # 基础资源(默认)
│   │   │       │   ├── element/
│   │   │       │   │   ├── color.json           # 颜色定义
│   │   │       │   │   ├── float.json           # 尺寸定义
│   │   │       │   │   └── string.json          # 字符串定义
│   │   │       │   ├── media/                    # 图片资源
│   │   │       │   └── profile/
│   │   │       │       └── main_pages.json      # 页面路由
│   │   │       ├── en_US/                        # 英文资源
│   │   │       │   └── element/
│   │   │       │       └── string.json
│   │   │       └── zh_CN/                        # 中文资源
│   │   │           └── element/
│   │   │               └── string.json
│   │   └── ohosTest/                       # 测试代码
│   │       ├── ets/
│   │       │   ├── test/
│   │       │   ├── testability/
│   │       │   └── testrunner/
│   │       └── resources/
│   ├── build-profile.json5               # 模块构建配置
│   ├── hvigorfile.ts                      # 模块构建脚本
│   └── oh-package.json5                   # 模块依赖配置
│
├── hvigor/                               # Hvigor构建工具配置
│   ├── hvigor-config.json5               # Hvigor核心配置
│   └── hvigor-wrapper.js                  # Hvigor包装器脚本
│
├── .gitignore                            # Git忽略配置
├── build-profile.json5                    # 项目构建配置
├── hvigorfile.ts                          # 项目构建脚本
├── hvigorw                                # Hvigor包装器(Unix)
├── hvigorw.bat                            # Hvigor包装器(Windows)
├── local.properties                       # 本地环境配置(SDK路径)
├── oh-package-lock.json5                   # 依赖锁文件
└── oh-package.json5                        # 项目依赖配置

应该重点关注的文件夹

1. entry/src/main/ets/ ⭐⭐⭐

这是最核心的目录,包含了所有的业务逻辑和UI代码。

子目录 重要性 说明
pages/ ⭐⭐⭐ 页面文件 - 应用的界面入口,从这里开始阅读代码
view/ ⭐⭐⭐ 自定义组件 - 可复用的UI组件,理解页面如何拆分
viewmodel/ ⭐⭐ 数据逻辑 - 数据和业务逻辑的封装
common/ ⭐⭐ 公共代码 - 常量、数据模型,帮助理解整体设计
entryability/ 生命周期 - 应用的启动和生命周期管理

阅读顺序建议

  1. 先看 pages/CategoryPage.ets - 了解整体页面结构
  2. 再看 view/ 下的组件 - 了解页面如何组合
  3. 然后看 viewmodel/CategoryViewModel.ets - 了解数据来源
  4. 最后看 common/ 下的文件 - 了解常量和数据模型

2. entry/src/main/resources/ ⭐⭐⭐

资源文件目录,包含了所有界面样式和多语言配置。

子目录 重要性 说明
base/element/ ⭐⭐⭐ 样式定义 - 颜色、尺寸、字符串
base/media/ ⭐⭐ 图片资源 - 应用图标等
base/profile/ ⭐⭐ 页面路由 - 页面导航配置
en_US/zh_CN/ 多语言 - 国际化支持

3. AppScope/ ⭐⭐

应用全局配置,定义了整个应用的元数据。

文件 重要性 说明
app.json5 ⭐⭐⭐ 应用配置 - 包名、版本号、全局图标
resources/.../string.json 应用名称 - 全局字符串

4. 配置文件 ⭐⭐

这些文件定义了项目的构建方式和依赖。

文件 重要性 说明
entry/src/main/module.json5 ⭐⭐⭐ 模块配置 - Ability声明、设备类型
build-profile.json5 ⭐⭐ 项目构建配置 - SDK版本、签名
oh-package.json5 ⭐⭐ 依赖管理 - 第三方库
hvigor/hvigor-config.json5 构建工具配置 - Hvigor版本

不需要关注的文件夹

目录 原因
.hvigor/ 构建缓存,自动生成
.idea/ IDE配置,因人而异
build/ (任何目录) 编译输出,自动生成
node_modules/oh_modules/ 依赖包,自动安装
local.properties 本地环境配置,因人而异
hvigorwhvigorw.bat 构建脚本包装器,无需修改
.gitignore 版本控制配置,极少修改

总结:开发时应该看什么?

优先级 目录/文件 作用
最高 entry/src/main/ets/pages/ 页面结构和业务逻辑
entry/src/main/ets/view/ 自定义UI组件
entry/src/main/resources/ 样式和国际化
entry/src/main/ets/viewmodel/ 数据模型
entry/src/main/module.json5 模块配置
AppScope/ 全局配置
build-profile.json5oh-package.json5 构建和依赖配置

一句话总结:开发时 99% 的时间 都在 entry/src/main/ets/entry/src/main/resources/ 这两个目录下工作。其他目录要么是自动生成的,要么是配置好后就不需要频繁修改的。

posted @ 2026-03-03 11:14  叶乘风  阅读(26)  评论(0)    收藏  举报