快应用day2项目架构


这个目录是一个典型的快应用示例工程,可以分成三类看:源码、构建产物、工具配置。

1. src/:真正的源码,平时主要改这里

  • src/assets: 静态资源。
    • images/: 图片资源。
    • styles/: 样式资源。
      • variables.less: 变量,比如颜色、尺寸。
      • mixins.less: 混入方法,复用样式片段。
      • style.less: 全局样式入口,页面里经常 @import 它。
  • src/CardDemo/index.ux: 快应用卡片示例,属于可单独发布/展示的组件式页面。
  • src/helper: 工具封装区。
    • src/helper/apis: 业务接口定义层,把具体 API 地址集中管理。
    • src/helper/utils.js: 通用工具,比如 showToast、拼接 query 参数。
    • src/helper/ajax.js: 网络请求封装,把底层 @system.fetch 包成 Promise 风格。
  • src/pages: 页面目录。你看到的每个页面一般都有自己的 index.ux。
  • src/pages/Demo/index.ux: 入口示例页。
  • src/pages/DemoDetail/index.ux: 详情页。
  • src/app.ux: 应用入口文件。这里会做全局初始化,比如把工具方法挂到全局对象上,方便各页面直接用。
  • src/manifest.json: 应用配置文件。里面定义包名、版本、图标、权限、路由、页面标题等。
  • src/sitemap.json: 页面规则配置。主要用于页面可访问性、搜索/收录相关规则。

2. build/:编译后的输出,不是你主要编辑的地方

  • build/assets: 编译/拷贝后的静态资源。
  • build/pages: 页面编译后的 JS。
  • build/app.js: 编译后的应用脚本。
  • build/manifest.json: 构建后生成的配置结果。

一般来说,build/ 是 hap build 或 IDE 自动生成的结果,不建议手改,因为下次构建会覆盖。

3. dist/:最终产物,通常用于发布/安装

  • dist/com.example.demo.debug.1.0.0.rpk
  • dist/com.example.demo.debug.1.0.0.rpks

这是打包后的快应用安装包。发布、安装、调试时会用到。

4. scripts/:辅助脚本

  • scripts/gen/index.js: 生成新页面的脚本。
  • scripts/gen/template.ux: 新页面模板。
  • scripts/selfCloseInputTag.js: 格式化辅助脚本,处理标签闭合之类的细节。

5. 配置和依赖

  • .gitignore: Git 忽略规则。
  • .prettierignore: Prettier 忽略规则
  • .quickapp.preview.json: 预览相关配置。
  • package-lock.json: 依赖锁定文件,保证安装版本一致。
  • package.json: 项目脚本、依赖、格式化规则、husky/lint-staged 配置都在这里。
  • .ide/settings.json: IDE 的项目设置。
  • node_modules: 第三方依赖安装目录,通常不手动改。

6. README.md

  • 这是项目说明文档,主要介绍目录结构、命令和模板用途。
相关推荐
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
传奇开心果编程10 小时前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer
mmsx10 小时前
Android 地图数据链路:从 GDAL、KML 到多引擎适配
android·kotlin
2601_9689007710 小时前
大模型版本回归评估实战:从能力指标到额度口径的完整链路
android·数据挖掘·回归
ao-weilai12 小时前
MySQL数据库:基本查询
android·数据库·mysql
事圆则缓13 小时前
Kotlin 泛型方差实战:out、in、星投影与类型擦除
android·开发语言·kotlin
传奇开心果编程15 小时前
【Compose Multiplatform 跨端开发学与练】第5课 网络与数据层
android·网络·学习·ui·ios·kotlin·composer
ao-weilai16 小时前
MySQL数据库:内置函数
android·数据库·mysql
SWAGGY..16 小时前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
Android打工仔16 小时前
CoroutineScheduler 设计解析(上)—— 为什么 Dispatchers.IO 会创建更多线程?
android·kotlin·源码阅读