我读了一些关于大角度js应用程序的目录结构的文章。所以根据我的理解,设置模块化结构是一件好事。在该模块化结构中,您可以创建基于功能的目录结构,以便每个功能都将控制器,html,服务等组合在一起。所有'共享'服务等我将在一个单独的模块中。在性能/可维护性方面,您可以创建多少个控制器的限制在哪里?只是有一些不同的意见,如何构建这个,但建议的是什么?
答案 0 :(得分:0)
我能给你的最好建议是克隆他们的空白应用程序回购。它的结构非常好,里面有许多关于不同做事方式的小评论。
我只能说利用可用的编码范例,例如依赖注入。将工厂用于单一范围和服务用于其他一切。
保持模块化,保持结构清洁。在此之后,这完全取决于您的选择以及您最好如何找到它。
编码实践更多的是指导而不是规则,但主要是对你和其他人最有利的,而不是社区所相信的。在那里遵循良好的编码实践始终是最好的。但实际上它主观并归于你。
还要进行性能测试。不要这么想。
答案 1 :(得分:0)
我遇到了一个很棒的article,它确实反映了我们的项目如何发展成为结构化的。
我们开始使用yeoman作为角度应用程序的目录结构 - 它很棒,它设置了所有无聊的样板文件,这很痛苦。
我们开始采用这种方法,直到最近我才意识到我们的目录正在成为倾销场所。
app
|____controllers
| |____foo.ctrl.js
| |____bar.ctrl.js
|____filters
| |____baz.filter.js
| |____hat.filter.js
|____directives
| |____bob.directive.js
| |____moo.directive.js
|____myapp.module.js
|____services
| |____pants.service.js
| |____arf.service.js
|____partials
| |____oink.html
| |____pat.html
我们有大约20-30个不同的控制器和指令是一个小得多的服务集合,但从来没有那些目录不再有任何真正意义 - 只是一个倾销场。
我们正在开展的项目中的目标是开发可以根据需要添加到项目中的模块,例如购物车模块,该模块应该可以轻松插入到新项目中然后离开开箱即用或多或少使用它。获得这种功能的唯一方法是重新考虑我们的目录结构,这样我们又有了一些意义。
app
|____nonsense
| |____nonsense.module.js
| |____foo.ctrl.js
| |____bar.ctrl.js
| |____baz.filter.js
|____apparel
| |____apparel.module.js
| |____hat.filter.js
| |____pants.service.js
|____sounds
| |____sounds.module.js
| |____arf.service.js
| |____oink.html
| |____moo.directive.js
|____people
| |____people.module.js
| |____bob.directive.js
| |____pat.html
|____myapp.module.js
现在我们可以清楚地看到模块的组成部分,它让我们更容易调试模块并移动它们 - 它们都在一个地方。
还有一个最好的practices谷歌文档,讨论类似的事情。
总之,随着应用程序的增长,在应用程序启动时看起来似乎是一个好的结构可能并不可持续,但是如何在开始时看到这样的东西我认为只能带来重构的痛苦和很多阅读最佳实践。
就是这样,没有混淆我上面显示的目录结构来自我提供的第一个链接 - AngularJS模块化的13个步骤。