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

上一篇: AngularJS Folder Structure

下一篇: IE8 issue with Twitter Bootstrap 3