Jor*_*est 11 javascript html5 angularjs
我正在努力根据最佳实践干净地构建我的AngularJS应用程序,其中包括将控制器和应用程序分成不同的脚本文件.
快速提问:我应该把工厂和服务放在哪里?我要求的是,工厂和服务的访问权限将在单个控制器的范围之外访问,并且具有一些在单个控制器范围内的工具和服务.
更新:下面的直接答案不再正确.请参阅此答案的最新附录(2015年3月1日编写).
得到它了!根据Brian Ford关于构建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
??? ...
Run Code Online (Sandbox Code Playgroud)
(PSST!如果您想知道,Brian Ford是AngularJS团队的一员,那么他的回答似乎非常合法.)
增加(2013年4月24日)
这就是:Yeoman是一个很棒的工具,用于为大型功能性Angular应用程序生成具有适当目录结构的应用程序.它甚至包含了Grunt和Bower!
附录(2015年3月1日)
据评论通过PaoloCargnin,谷歌实际上建议不同的结构,通过详见本文件.结构应如下所示:
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...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4221 次 |
| 最近记录: |