Javascript 在angularjs应用程序中使用requirejs和AMD的优势是什么?

Javascript 在angularjs应用程序中使用requirejs和AMD的优势是什么?,javascript,requirejs,angularjs,Javascript,Requirejs,Angularjs,我一直是requirejs和AMD的支持者,但自从我开始学习AngularJS后,我觉得把这两种技术结合在一起很不舒服 我知道在angularjs应用程序中使用requirejs来管理和加载依赖关系实际上是可能的,同样的开发人员称这两个产品为“正交”,但它能增加多少价值呢 我想到的第一个参数是依赖项注入,它实际上解耦了模块之间的依赖项,这意味着我不需要跟踪依赖项,也不需要跟踪脚本加载顺序(至少在大多数情况下)。 最重要的是,AMD似乎甚至可以违背DI背后的原则,因为它需要将依赖项硬编码到脚本的某

我一直是requirejs和AMD的支持者,但自从我开始学习AngularJS后,我觉得把这两种技术结合在一起很不舒服

我知道在angularjs应用程序中使用requirejs来管理和加载依赖关系实际上是可能的,同样的开发人员称这两个产品为“正交”,但它能增加多少价值呢

我想到的第一个参数是依赖项注入,它实际上解耦了模块之间的依赖项,这意味着我不需要跟踪依赖项,也不需要跟踪脚本加载顺序(至少在大多数情况下)。 最重要的是,AMD似乎甚至可以违背DI背后的原则,因为它需要将依赖项硬编码到脚本的某个地方


那么,在angulajs应用程序中使用AMD只会增加额外的复杂性,而不会带来任何主要优势,这是否明智呢?

我不认为AMD是依赖注入。这是一个模块加载器。角色不同。RequireJS为您加载文件:Angular根本不这样做


例如,我没有在角度相关性列表中列出“下划线”。如果我在服务中需要它,我会让RequireJS为我加载它。Angular确实注入了所有的应用程序代码

依赖项注入的主要优点是将依赖项与其实现解耦。AMD完全反对这一点,IMHO,因为您必须在“require”中指定依赖项的实现。。。