TL; DR
Нет, в Angular нет пути лучше , и более удобного способа решения вашей проблемы не будет.
Более подробный ответ
Если я вас правильно понял, вы запутались со всеми этими инъекциями зависимостей, например @import
конкретным SCSS, содержащим ваши переменные.Итак, ваш вопрос:
Это ошибка или функция?
И, я должен сказать, это функция.Это делает ваши компоненты более гибкими, и выгода в том, что вам нужно заботиться об этих зависимостях, но в долгосрочной перспективе ваш код будет легче поддерживать и будет более структурированным.Зависимость является основной особенностью современного программирования на JavaScript.Так что, если хотите, вы можете придерживаться более старомодного стиля программирования, помещая все, что вам нужно для вашего приложения, в один файл.Это скорее своего рода риторический вопрос.
Если вы посмотрите, например, на «Реагирующий мир», вы обнаружите еще большую необходимость структурировать свои инъекции.Вы не просто импортируете весь файл и обслуживаете все переменные, методы, классы и т. Д. В свой целевой компонент, но вместо этого выбираете каждую переменную, каждый отдельный метод, который вы хотели бы использовать в своем целевом компоненте.Это увеличивает усилия по планированию и структурированию всего вашего приложения, но имейте в виду, в долгосрочной перспективе.Программирование хорошего поддерживаемого программного обеспечения имеет больше общего с марафоном, чем спринтом.
Я хотел бы поделиться с вами этой статьей Википедии о «Внедрении зависимости» .Может быть, вы найдете там свои ответы.
Мотивация
Чтобы не дать вам оставить плохие чувства, вот замечательное высказывание HL Mencken :
„Для каждой сложной проблемы есть ответ, который является ясным, простым и неправильным.“