在哪里指定模块依赖?

Where to specify module dependencies?

我遵循按功能组织 angular 资产的标准做法;例如AngularJS Folder Structure and AngularJS Best Practices: Directory Structure.

我应该把我的模块/依赖声明放在哪个文件中?

我正在尝试解决以下问题:

这是一个例子:

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。作为一个相关问题,如果您愿意,如何跟踪模块的哪些组件是依赖项的来源?

既然我已经使用它一段时间了,并且因为我已经开始用 gulp 预编译我的 javascript,单行模块声明文件似乎是对我来说最好的解决方案。

我将该文件命名为 <special-character>module.js,以便它在视觉上和编译时排序到顶部。因为我的布局约定是一个文件夹 = 一个模块,所以这是示意性的。我的特殊角色是破折号,YMMV。我个人的 .js 文件名无论如何都不会出现在生产编译版本中。

最初我的项目中有一个单行文件让我很困扰,但现在我很感激。它使用 gulp 编译到我的应用程序 javascript 中,因此这不是性能问题。此外,还有一个明显的地方可以查找依赖项,在依赖项更改的修订控制日志中有清晰的踪迹,以及使用我自己的自定义工具从我的源记录依赖项的简单过程。

我会进一步分解。

metric/ 
    metric.js
    controllers/
        detail-controller.js
        selector-controller.js
    directives/
        selector-directive.js
    filters/
        search-filter.js
    templates/
        detail.html 
        selector.html