应用程序项目结构
项 目结构概述
dejaOS 应用程序项目结构简洁明了,包含几个固定的目录和文件,其中一些是必需的。下面是典型的项目结构图:
目录和文件说明:
-
.temp/
目录- 插件自动生成的临时目录,可以忽略。
- 包含构建时生成的
.dpk
安装包等缓存文件。 - 删除后会重新生成,不会同步到设备。
-
dxmodules/
目录- 存储通过
Install
按钮下载的依赖模块(modules)。 - 包含多个
.js
脚本文件和.so
动态链接库文件。 - 所有模块都以
dx
开头,如dxLogger.js
。 - 插件支持
Ctrl+点击
快速跳转到此目录中的模块源代码并查看注释。
- 存储通过
-
src/
目录- 必须存在,用于存储所有源代码文件。
- 可包含 JS 文件、图片、字体等资源文件。
- 此目录中的内容会完全同步到设备。
-
main.js
文件- 应用程序的主入口文件,必须存在且放在
src/
目录中。 - 负责初始化程序并启动应用程序逻辑。
- 应用程序的主入口文件,必须存在且放在
-
app.dxproj
文件-
项目配置文件,必须存在。
-
本质上是一个 JSON 格式文件,但通过插件的可视化编辑界面进行管理。
-
图示如下:
-
app.dxproj
配置项说明:
- 项目名称:可任意填写,便于识别。
- 设备类型:必须正确选择,不同设备可能有不同的
.so
库和模块依赖。 - 忽略目录:默认忽略
.temp/
,可自定义多个条目,用英文逗号分隔。被忽略的目录不会同步到设备。 - 忽略文件:类似上述,自定义不需要同步的文件名列表。
- 依赖模块列表:通过界面点击
Add Module
按钮选择模块及其版本。 - 版本 用于标识项目配置版本,便于兼容性和升级管理。
基本必需组件说明
大多数项目都会依赖以下基础模块,这些通常是不可或缺的:
模块名称 | 功能描述 |
---|---|
dxLogger | 日志模块,支持输出调试信息 |
dxCommon | 系统通用操作模块,dxLogger 依赖此模块 |
dxDriver | 驱动层支持模块,无 API 但必需 |
dxStd | 标准 IO 模块,提供基础输入/输出支持 |
dxMap | 共享内存模块,常作为底层依赖组件使用 |
设备端目录结构映射
设备端运行时的文件结构如下:
-
/app/code/
- 应用程序代码同步目录。开发项目目录如
src/
、dxmodules/
等的内容会复制到这里。 - 此目录通常在应用程序升级时会被清空并写入最新文件。
- 应用程序代码同步目录。开发项目目录如
-
/app/data/
- 应用程序运行时生成的用户数据、缓存等默认存储在此目录。
- 虽然不是强制要求,但建议开发者将所有动态生成的数据写入此目录,便于系统在重置时统一清理。
-
其他目录
- 除上述目录外,其他系统目录应用程序无法访问或修改,以避免造成系统稳定性问题。
总结
dejaOS 项目结构设计旨在保持简洁、清晰和易于维护。通过标准化的目录布局、模块管理机制和配置方法,开发者可以更高效地组织和部署嵌入式应用程序。未来,我们将继续优化模块化和部署流程,为开发者提供更全面的工具支持。