我不久前开始使用AngularJS,并且为了保持Controller的苗条而练习。我对AngularJS的依赖注入的理解是,它使控制器中可以使用外部JS代码。

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

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

最佳答案

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

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

Angular更关注DI图片的IOC部分,而RequireJS更专注于文件加载,数据传输和内存保留部分。

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

关于javascript - AngularJS的依赖注入(inject)和RequireJS本质上是相同的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28467615/

10-13 00:53