AngularJS文件夹结构
如何为大型和可伸缩的AngularJS应用程序布置文件夹结构?
按类型排序
在左边我们有按类型组织的应用程序。 对于较小的应用程序来说也不错,但即使在这里,您也可以开始看到它更难找到您要查找的内容。 当我想要查找特定视图及其控制器时,它们位于不同的文件夹中。 如果你不确定如何组织代码,那么从这里开始可能会很好,因为很容易转向右侧的技术:按功能结构。
按特征排序(首选)
在右侧,项目按功能进行组织。 所有布局视图和控制器都放在布局文件夹中,管理内容放在admin文件夹中,所有区域使用的服务放在services文件夹中。 这里的想法是,当您在寻找使某个功能可以工作的代码时,它位于一个地方。 服务有点不同,因为它们“服务”了许多功能。 我喜欢这个,一旦我的应用程序开始形成,因为它变得更容易管理我。
写得很好的博客文章:http://www.johnpapa.net/angular-growth-structure/
示例应用程序:https://github.com/angular-app/angular-app
在构建了一些应用程序之后,一些在Symfony-PHP,一些.NET MVC,一些ROR中,我发现对我来说最好的方式是使用Yeoman.io和AngularJS生成器。
这是最流行和最常见的结构,并得到最佳维护。
最重要的是,通过保持该结构,它可以帮助您分离客户端代码,并使其与服务器端技术(各种不同的文件夹结构和不同的服务器端模板引擎)无关。
这样你可以轻松地复制和重用你的和其他代码。
这里是咕噜生成之前:(但使用yeoman生成器,不要只创建它!)
/app
/scripts
/controllers
/directives
/services
/filters
app.js
/views
/styles
/img
/bower_components
index.html
bower.json
咕噜生成后(concat,uglify,rev等...):
/scripts
scripts.min.js (all JS concatenated, minified and grunt-rev)
vendor.min.js (all bower components concatenated, minified and grunt-rev)
/views
/styles
mergedAndMinified.css (grunt-cssmin)
/images
index.html (grunt-htmlmin)
我喜欢这个关于angularjs结构的条目
它是由一个angularjs开发者编写的,所以应该给你一个很好的见解
这是一个摘录:
root-app-folder
├── index.html
├── scripts
│ ├── controllers
│ │ └── main.js
│ │ └── ...
│ ├── directives
│ │ └── myDirective.js
│ │ └── ...
│ ├── filters
│ │ └── myFilter.js
│ │ └── ...
│ ├── services
│ │ └── myService.js
│ │ └── ...
│ ├── vendor
│ │ ├── angular.js
│ │ ├── angular.min.js
│ │ ├── es5-shim.min.js
│ │ └── json3.min.js
│ └── app.js
├── styles
│ └── ...
└── views
├── main.html
└── ...
链接地址: http://www.djcxy.com/p/68991.html