javascript – 我应该把AngularJS工厂和服务放在哪里?

前端之家收集整理的这篇文章主要介绍了javascript – 我应该把AngularJS工厂和服务放在哪里?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在根据最佳做法,彻底地构造我的AngularJS应用程序,其中包括将控制器和应用程序分成不同的脚本文件.

快问:我应该把我的工厂和服务放在哪里?我在询问有工厂和将在单个控制器的范围之外访问的服务以及具有单个控制器范围内的服务.

解决方法

更新:下面的直接答案不再正确.请参阅这个答案的最新补编(2015年3月1日写).

得到它了!据Brian Ford的Building Huuuuuuuge Angular Apps文章称,最佳做法似乎是将服务和工厂连接到一个单独的文件中,如下所示:

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
    └── ...

(PSST!如果你想知道,布莱恩·福特是AngularJS团队的一部分,所以他的答案似乎很合适.)

增加(2013年4月24日)

这只是在:Yeoman是一个奇妙的工具,用于生成应用程序,具有适用于大型功能强大的Angular应用程序的正确目录结构.它甚至有Grunt& Bower包装!

附录(2015年3月1日)

根据a comment通过PaoloCargnin,Google实际上推荐了不同的结构,详见this document.结构应如下所示:

sampleapp/
        app.css
app.js                                top-level configuration,route def’ns for the app
app-controller.js
        app-controller_test.js
        components/
adminlogin/                                
        adminlogin.css                styles only used by this component
adminlogin.js              optional file for module definition
adminlogin-directive.js                         
adminlogin-directive_test.js        
                private-export-filter/
                        private-export-filter.js
                        private-export-filter_test.js
userlogin/
somefilter.js
somefilter_test.js
userlogin.js
userlogin.css                
userlogin.html                
userlogin-directive.js
userlogin-directive_test.js
userlogin-service.js
userlogin-service_test.js                
        index.html
subsection1/
subsection1.js
subsection1-controller.js
                subsection1-controller_test.js
                subsection1_test.js                         
                subsection1-1/                        
                        subsection1-1.css
                        subsection1-1.html
                        subsection1-1.js
                        subsection1-1-controller.js
subsection1-1-controller_test.js
                subsection1-2/                        
        subsection2/
subsection2.css
subsection2.html
subsection2.js
subsection2-controller.js
subsection2-controller_test.js
        subsection3/
                subsection3-1/
                        etc...

猜你在找的JavaScript相关文章