在angularjs应用程序中使用requirejs和AMD有什么好处?

时间:2012-10-22 18:05:18

标签: javascript requirejs angularjs

我一直是requirejs和AMD的支持者,但是自从我开始学习AngularJS以来,我将两种技术结合在一起感到很不舒服。

我知道实际上可以使用requirejs来管理和加载angularjs应用程序中的依赖项,并且相同的开发人员将这两个产品称为“正交”,但是它可以添加多少值?

我想到的第一个参数是依赖注入,它实际上解耦了模块之间的依赖关系,转换它意味着我不需要跟踪依赖关系,也不需要跟踪脚本加载顺序(至少大多数时间)。 最重要的是,AMD似乎甚至违背了DI背后的原则,因为它需要将依赖项硬编码到脚本中......

那么明智地说在angulajs应用程序中使用AMD会增加额外的复杂性而不带来任何重大优势吗?

1 个答案:

答案 0 :(得分:3)

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

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