我遵循按功能组织角度资产的标准做法;例如AngularJS Folder Structure和AngularJS Best Practices: Directory Structure。
我应该将模块/依赖项声明放在哪个文件中?
我试图解决以下问题:
<script>
引用进行排序,但我不能因为这会破坏我的Angular引导程序(对于某些模块)。*.js
文件中,但是当我的应用程序逐渐增加移动我的依赖声明时,我花了很多时间。以下是一个例子:
metric/
_module.js // Should I create this file?
detail-controller.js
detail.html
search-filter.js
selector-controller.js
selector-directive.js
selector.html
目前,对于这个模块,我的模块控制器之一存在这行代码,你猜哪一个! ;)
作为一个我不满意的可能解决方案,我应该将每个模块定义放在自己的小型单行文件中吗?
angular.module('metric', ['lib', 'ngSanitize', 'ui.select', 'data']);
你是怎么做到的?我错过了其他一些聪明或明显的解决方案吗?
P.S。作为一个相关问题,如果您愿意,如何跟踪模块的哪些组件是依赖项的来源?
答案 0 :(得分:0)
既然我已经使用了一段时间了,并且因为我已经开始使用gulp预编译我的javascript,单行模块声明文件对我来说似乎是最好的解决方案。
我将该文件命名为<special-character>module.js
,以便在视觉上和编译时将其排序到顶部。因为我的布局约定是一个文件夹=一个模块,这是示意性的。我的特色是破折号,YMMV。无论如何,我的个人.js文件名都没有显示在生产编译版本中。
最初困扰我的是我的项目中有一个单行文件,但现在我很感激。它被编译到我的应用程序javascript与gulp,所以这不是性能问题。此外,还有一个显而易见的地方可以查找依赖项,清除依赖项更改的修订控制日志,以及使用我自己的自定义工具从源代码中记录依赖项的简单过程。
答案 1 :(得分:0)
我会进一步分解它。
metric/
metric.js
controllers/
detail-controller.js
selector-controller.js
directives/
selector-directive.js
filters/
search-filter.js
templates/
detail.html
selector.html