在哪里指定模块相关性
Where to specify module dependencies?
我遵循按功能组织角度资产的标准做法;例如AngularJS文件夹结构和AngularJS最佳实践:目录结构。
我应该将模块/依赖项声明放在哪个文件中
我正在努力解决以下问题:
- 出于维护原因,我希望能够按字母顺序对
<script>
引用进行排序,但我做不到,因为这会破坏我的Angular引导(对于某些模块) - 我曾尝试将它们保存在模块中按字母顺序排列的第一个
*.js
文件中,但随着应用程序的发展,我花了很多时间来移动依赖声明 - 我经常要四处寻找模块声明
- 由于相关的原因,我经常看到Angular相对无信息的模块错误
- 无论如何,将模块声明附加到特定控制器似乎意味着不存在直接相关性
这里有一个例子:
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.作为一个相关的问题,如果你喜欢,如何跟踪模块中的哪些组件是依赖项的来源?
我会把它进一步分解。
metric/
metric.js
controllers/
detail-controller.js
selector-controller.js
directives/
selector-directive.js
filters/
search-filter.js
templates/
detail.html
selector.html
现在我已经使用它一段时间了,并且因为我已经开始使用gump预编译javascript,所以单行模块声明文件似乎是我的最佳解决方案。
我将该文件命名为<special-character>module.js
,以便在编译时对其进行可视化排序。因为我的布局约定是一个文件夹=一个模块,所以这是示意性的。我的特殊性格是短跑,YMMV。我个人的.js文件名无论如何都不会出现在生产编译版本中。
起初,我的项目中有一个单行文件,这让我很困扰,但现在我很感激。它可以通过gump编译到我的应用程序javascript中,所以这不是性能问题。此外,还有一个明显的地方可以查找依赖项,在依赖项更改的修订控制日志中有清晰的踪迹,以及使用自己的自定义工具从我的源文件中记录依赖项的简单过程。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 从模块内部访问Express装载路径
- RequireJS向模块传递配置总是返回undefined
- Node.js正在更改应用程序以使用集群模块
- 在Meteor项目中安装并包含npm模块后出错
- 模块模式和这个
- 无法安装节点sass相关性
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 找不到模块捆绑包
- JavaScript命名约定;静态“;类或模块
- 显示模块模式在Knockout中设置模型的新实例
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- Javascript模块系统I'I’我正在努力,但搞不明白
- 如何捆绑循环相关模块
- 如何捆绑commonjs模块,除非指定需要
- 在哪里指定模块相关性