在一个大型 AngularJS 应用程序中,我的所有控制器都在一个“controllers.js”文件中,这对我来说似乎有点不可维护。有没有更好的方法来做到这一点,例如:
\js\controllers\myController.js
\js\controllers\yourController.js
\js\controllers\ourController.js
这也适用于过滤器、服务、指令等......
在一个大型 AngularJS 应用程序中,我的所有控制器都在一个“controllers.js”文件中,这对我来说似乎有点不可维护。有没有更好的方法来做到这一点,例如:
\js\controllers\myController.js
\js\controllers\yourController.js
\js\controllers\ourController.js
这也适用于过滤器、服务、指令等......
有很多方法可以组织您的代码。您可以查看以下链接
您可以遵循他们的标准,也可以制定自己的标准。
尝试遵循以下准则:
你可以像module一样管理它!!
例如,以用户视图,你创建一个目录,这里它的名字是用户!!
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
希望能帮到你!!
了解这两个入门项目如何为大型应用程序组织文件:
您不妨看看这个社区驱动的指南。
该指南描述了组织大型 AngularJS 应用程序目录结构的最佳实践。
它还就 AngularJS module、控制器、指令、过滤器和服务的命名和结构提出建议。
使用AngularJS 应用程序模板检查Lineman.js之类的工具也是值得的。
对于企业 AngularJS 项目,您可能希望查看这个基于ng-boilerplate 的kickstarter。
谷歌自己的团队有一个很好的文档支持 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...