11
我正在根據最佳實踐清楚地構建我的AngularJS應用程序,其中包括將控制器和應用程序分隔成不同的腳本文件。我應該在哪裏放置AngularJS工廠和服務?
快速問題:我應該在哪裏放置我的工廠和服務?我在詢問有工廠&的服務,這些服務將被訪問在單個控制器的範圍之外,也有一些屬於單個控制器範圍內的服務。
我正在根據最佳實踐清楚地構建我的AngularJS應用程序,其中包括將控制器和應用程序分隔成不同的腳本文件。我應該在哪裏放置AngularJS工廠和服務?
快速問題:我應該在哪裏放置我的工廠和服務?我在詢問有工廠&的服務,這些服務將被訪問在單個控制器的範圍之外,也有一些屬於單個控制器範圍內的服務。
更新:下面的直接答案不再正確。請參閱最新的附錄(2015年3月1日撰寫)。
Got it!據布賴恩·福特對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日)
根據經由PaoloCargnina comment,谷歌實際上建議不同的結構,通過如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...
這不是谷歌如何記錄它。我建議你按照這個結構https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub – PaoloCargnin 2015-02-27 11:34:29