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/ |
⭐ | 生命周期 - 应用的启动和生命周期管理 |
阅读顺序建议:
- 先看
pages/CategoryPage.ets- 了解整体页面结构 - 再看
view/下的组件 - 了解页面如何组合 - 然后看
viewmodel/CategoryViewModel.ets- 了解数据来源 - 最后看
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 |
本地环境配置,因人而异 |
hvigorw、hvigorw.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.json5、oh-package.json5 |
构建和依赖配置 |
一句话总结:开发时 99% 的时间 都在 entry/src/main/ets/ 和 entry/src/main/resources/ 这两个目录下工作。其他目录要么是自动生成的,要么是配置好后就不需要频繁修改的。

浙公网安备 33010602011771号