我想熟悉编程的人或熟悉各种IDE工具的人对于工程文件的组织方式一定不陌生,今天介绍一下ionic工程组织文件的方式。如果你对AngularJS不熟悉,没有接触过AngularJS编程,那么刚开始使用ionic工程时可能不知道如何更好的组织文件。
类型组织
当然,组织文件的形式多种多样,最常见的是下面这种:
app/
controllers/
detail.js
overview.js
settings.js
services/
service1.js
service2.js
views/
detail.html
overview.html
settings.html
上述组织形式成为“类型组织”,即将相同类型的文件放到同一目录下,这也是ionic工程默认的组织方式,不过这种组织形式并不容易使用,例如你正在编写界面,即在views/*.html里面工作,而此时可能需要绑定数据到view上,那你就需要切换到controllers/*.js里面工作了。
特性组织
刚开始学习AngularJS时,曾经试图寻求一种更加有效的工程文件组织形式,很幸运我找到了John Papa的Angular 1 Style Guide,随后我就将这种形式应用到ionic工程中了。
Angular 1 Style Guide使用了一种更好的方法组织文件:特性组织/Folders-By-Feature,就像下面一样:
app/
detail/
detail.controller.js
detail.html
overview/
overview.controller.js
overview.html
services/
service1.js
service2.js
settings/
settings.controller.js
settings.html
这当然是一个很简单的工程示例,可能看起来上述两种方式没有太大区别,但是想像一下,当你的工程至少有10个“特性”,每个特性最少包含2个文件,使用“特性组织”的方式会使工程构建十分容易,我们不必深入多级文件夹查找我们需要的文件,因为他就在我们身边。
当然,本文只是简单介绍了“特性组织”,大家感兴趣可以查看Angular 1 Style Guide,里面包含并解释了大量有用的规则,完全可以作为AngularJS开发的指导书。