项目结构

QMUI Web 对项目文件结构(UI 层相关文件)有一定的依赖,不同的项目中如果能有相似的文件结构,也能便于开发。推荐的文件结构如下:

  1. 项目根目录
  2. ├─public // 静态资源目录,由 Gulp 生成
  3. ├─js // 静态资源 js 文件
  4. ├─style // 静态资源 UI 文件
  5. ├─css // 静态资源 css 文件
  6. └─images // 静态资源 images 文件
  7. └─template // 最终的模板目录,区别于静态模板基于原生 HTML,最终模板通常是用功能完备的模板引擎驱动
  8. ├─UI_dev // 实际进行开发的样式目录
  9. ├─project // 项目相关 Sass 与 images 文件,由 Gulp 生成,请参考“创建新项目
  10. ├─images // 项目相关图片文件
  11. ├─logic // 项目相关逻辑样式
  12. └─widget // 项目相关公共组件样式
  13. └─qmui_web // QMUI Web 主源码应放置在这一层目录
  14. ├─UI_html // 静态模板目录
  15. └─UI_html_result // 静态模板经 Gulp 处理后的版本,用于前端拼接最终的模板

这些目录 QMUI 会提供工具帮助完成创建,开发者并不需要手工创建这些目录。

另外这些目录结构只是层次上要求如此,即不建议修改目录的层级,但目录名如果与其他模块或组件冲突,可以自行修改目录名,并同步修改 qmui.config.js 的相关设置(qmui.qmui.config.js 需要复制到 UI_dev 中修改,如果直接修改 QMUI 源码中的配置文件,会影响框架的独立性,详细请参考“使用配置文件”

图片文件管理

为了解决 CSS Sprite 造成的重复劳动工作以及管理图片,QMUI 提供了一套图片文件管理的方案。图片文件统一放置在一个目录中(project/images),其中,需要做雪碧图的图片应该在 images 下建立子目录统一放置,QMUI 会根据相应的规则合成雪碧图,关于这一点的详细情况,请参考这里。而不需要做成雪碧图的独立图片,应该放置在 images/independent(由 qmui.config.js 中的 independentImagesDirectory 选项控制)目录中,该目录中也可以再建立子目录。另外,无论是雪碧图还是独立图片,QMUI 都会统一管理这些图片,输出到静态资源目录(public/style/images),并自动进行图片压缩。