大家好,我是 码工,一个有十年工作经验的码农,一心追求技术。

 

来啦来啦,最近经常有小伙伴问我有关鸿蒙的项目目录结构,让我讲一下鸿蒙开发的目录结构。

今天终于有时间了,给大家详细讲解一下。

主要从两方面讲,Java项目结构和Js项目结构。

为啥要说两个的呢?这就体现了鸿蒙开发的好处,鸿蒙开发太方便了,既可以使用Java开发,还可以使用Js开发。

根据个人的喜好或者擅长来选择,进行开发。

话不错说,开干。

1,Java 项目目录结构

Java工程目录结构如下图所示。

 

gradle:Gradle配置文件,由系统自动生成,一般情况下不需要进行修改。

entry:默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录。

element 目录下文件:

1,boolean.json:布尔型

2,color.json:颜色

3,float.json:浮点型

4,intarray.json:整型数组

5,integer.json:整型

6,pattern.json:样式

7,plural.json:复数形式

8,strarray.json:字符串数组

9,string.json:字符串值。

entry>libs:用于存放entry模块的依赖文件-jar包。

entry>src>main>Java:用于存放Java源码。

entry>src>main>resources:用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等。

资源目录

资源文件说明

base>element

包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如:

  • boolean.json:布尔型
  • color.json:颜色
  • float.json:浮点型
  • intarray.json:整型数组
  • integer.json:整型
  • pattern.json:样式
  • plural.json:复数形式
  • strarray.json:字符串数组
  • string.json:字符串值。

base>graphic

xml类型的可绘制资源,如SVG(Scalable Vector Graphics)可缩放矢量图形文件、Shape基本的几何图形(如矩形、圆形、线等)等。

base>layout

xml格式的界面布局文件。

base>media

多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png.gif.mp3.mp4等。

base>profile

用于存储任意格式的原始资源文件。区别在于rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。

rawfile

entry>src>main>config.json:HAP清单文件。

en/zh element  支持的与语言,目前有中文和英文。

entry>src>test:编写代码单元测试代码的目录,运行在本地Java虚拟机(JVM)上。

entry>.gitignore:标识git版本管理需要忽略的文件。

entry>build.gradle:entry模块的编译配置文件。
 

2,js项目目录结构

JS工程目录结构如下图所示。

  • common目录:可选,用于存放公共资源文件,如媒体资源、自定义组件和JS文档等,可以在下面添加其它目录。
  • i18n目录:可选,用于存放多语言的json文件,可以在该目录下定义应用在不同语言系统下显示的内容,如应用文本词条、图片路径等。
  • pages目录:pages文件夹下可以包含1个或多个页面,每个页面都需要创建一个文件夹(如图中的index)。页面文件夹下主要包含3种文件类型:css、js和hml文件。
    • pages>index>index.hml文件:hml文件定义了页面的布局结构,使用到的组件,以及这些组件的层级关系。
    • pages>index>index.css文件:css文件定义了页面的样式与布局,包含样式选择器和各种样式属性等。
    • pages>index>index.js文件:js文件描述了页面的行为逻辑,此文件里定义了页面里所用到的所有的逻辑关系,比如数据、事件等。
  • resources:可选,用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件。
  • app.js文件:全局的JavaScript逻辑文件和应用的生命周期管理。

JS服务卡片(entry/src/main/js/module)的典型开发目录结构如下:

图1 目录结构



目录结构中文件分类如下:

  • .hml结尾的HML模板文件,这个文件用来开发页面的模板布局结构。
  • .css结尾的CSS样式文件,这个文件用于开发页面样式。
  • .json结尾的JSON文件,这个文件用于开发使用的变量和action事件。

说明

i18n和resources是开发保留文件夹,不可重命名。

3,应用资源访问规则

应用资源可通过绝对路径或相对路径的方式进行访问,本开发框架中绝对路径以"/"开头,相对路径以"./"或"../"。具体访问规则如下:

  • 引用代码文件,需使用相对路径,比如:../common/style.css。
  • 引用资源文件,推荐使用绝对路径。比如:/common/xxx.png。
  • 公共代码文件和资源文件推荐放在common下,通过规则1和规则2进行访问。
  • CSS样式文件中通过url()函数创建<url>数据类型,如:url(/common/xxx.png)。

这篇的目录结构非常重要,在开发中需要根据目录去添加和设置文件,清楚这些目录是必备技能。

 

原创不易,有用就关注一下。要是帮到了你 就给个三连吧,多谢支持。
 

觉得不错的小伙伴,记得帮我 点个赞和关注哟,笔芯笔芯~**

作者:码工
 

有问题请留言或者私信,可以 微信搜索:程序员漫话编程,关注公众号获得更多免费学习资料。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐