是AngularJS'依赖注入和RequireJS基本相同?

时间:2015-02-12 01:14:51

标签: javascript angularjs requirejs

我不久前开始使用AngularJS,并且练习保持控制器的纤薄。我对AngularJS'的理解依赖注入是它使控制器中的外部JS代码可用。

我也是RequireJS的新手,因为我想减少加载时间。我做了一些阅读,但我仍然感到困惑。我的印象是AngularJS'依赖注入与RequireJS的工作方式类似 - 在需要时动态加载函数。

我是在正确的轨道还是我完全错了?

1 个答案:

答案 0 :(得分:3)

不,他们是完全不同的。 Angular DI involves components。 Angular组件的示例是工厂,指令和过滤器。 Angular提供了几种将组件注入其他组件的方法,但不关心如何加载这些组件或存储它们的位置。它们可以全部存储在单个.js文件中,存储在多个文件中,也可以存储在HTML文档中。一般的假设是每个组件都是在页面加载时加载的,但情况可能并非如此。

RequireJS is a file and module loader。每个单独的模块都在自己的文件中。 RequireJS使用ajax方法根据需要按需加载模块。

如果Angular更关注DI图像的IOC部分,则RequireJS更侧重于文件加载,数据传输和内存保护部分。

使用RequireJS增强Angular的DI功能是可能的,也是常见的,但除非它是一个包含数百个脚本文件的大型应用程序,否则通常没有必要。