Lazy Loading in Angular and Integrating AMDs
Angular’s Dependency Injection
Dependency injection (DI) as defined by Angular… DI in Angular allows you to use modules, services, controllers, directives, and filters that can depend on one another to operate.
By $injecting these dependencies into each other they can reference each others public APIs and operate accordingly. This concept of DI loads all files upfront so that they are available for use whenever necessary (which may be never for certain use cases).