Я думаю, вы запутались между зависимостью как js-библиотекой и тем, что представляет собой инъекция зависимости.
Когда вы добавляете библиотеку в свой основной HTML-файл, вы практически включаете код, который будет использоваться, но это не значит, что вы на самом деле вводите эту зависимость от своего кода.
один из результатов использования DI, чтобы сделать ваш код тестируемым и отвязать свою реализацию от своих зависимостей и более TDD
, например, если вы впрыснуть зависимость в вас контроллер, вы можете заменить эту зависимость позже с макетным объектом и проверить функциональность контроллера, а не самого сервиса.
из угловой документации:
Dependency Injection (DI) представляет собой шаблон проектирования программного обеспечения, который имеет дело с как компоненты разжиться их зависимостей. Подсистема углового инжектора отвечает за создание компонентов , разрешая их зависимости и предоставляя их другим компонентам в соответствии с запросом.
Итак, есть 2 различных типов зависимостей библиотеки вы должны ссылаться на них для того, чтобы иметь «код доступен» и зависимость в программном коде Wich собирается сделать более легким в обслуживании и отвязать свои зависимости ,