在一个大型的AngularJS应用程序中,我的所有控制器都在一个“controllers.js”文件中,对我来说似乎有点难以维护。有没有更好的方法来实现这一点,如:
\js\controllers\myController.js
\js\controllers\yourController.js
\js\controllers\ourController.js
,这也适用于过滤器,服务,指令等...
答案 0 :(得分:49)
有很多方法可以组织代码。您可以查看以下链接
您可以遵循他们的标准,也可以自己制作。
请尝试遵循以下准则:
答案 1 :(得分:9)
你可以像模块一样管理它!!
例如,拿用户视图,你创建一个目录,这里的名字是user !!
user // directory , now put all controller ,service and directive file into it !!
-- userController.js // controller file
-- userService.js // service file
-- userDirective.js // directive file
-- views // make directory, and put all html file regarding that module into this
--users.html // html file
希望这会对你有所帮助!!
答案 2 :(得分:3)
了解这两个入门项目如何为更大规模的应用程序组织文件:
答案 3 :(得分:3)
您可能希望查看this community-driven guide。
本指南介绍了组织大型AngularJS应用程序的目录结构的最佳实践。
它还就命名和构建AngularJS模块,控制器,指令,过滤器和服务提出了建议。
使用Lineman.js查看AngularJS application template之类的工具也是值得的。
对于企业AngularJS项目,您可能希望查看基于kickstarter的ng-boilerplate。
答案 4 :(得分:3)
谷歌自己的团队提供了一份很好的文档来支持Shivali的例子: https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub
这样的事情:
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...
答案 5 :(得分:0)
选中此项,使用CoffeeScript,SCSS构建角度应用程序。