Comments 8
Если в кратце, то вся проблема в сервисе $injector
. Учитывая как webpack обрабатывает require.ensure
, $injector
в свою очередь не находит сам модуль для которого мы применяем require.ensure
. ocLazyLoad берет решение этой проблемы на себя.
В принципе, данный подход можно использовать и для сервисов и для контроллеров. В документации к ocLazyLoad есть примеры
.
Добрый день, Александр!
Если переходите на webpack + AngularJS 1.x, то я бы вам советовал попробовать FountainJS. Он работатет по типу Angular CLI. Очень круто позволяет оптимизировать процесс разработки и убрать ненужные действия. Подумайте о том, чтобы начать использовать TypeScript, если еще не используете :). Ссылок как таковых нет, документация webpack покрывает примерно 80% всех вопросов. Остальное гуглиться достаточно просто. Плюс можно задавать вопросы в их чате, только вот с ответами может быть запара). Хочу заметить, не ждите великой магии от Tree Shaking, если будете транспайлить код в ES5. На хабре было пару статей на эту тему (раз, два), которые хорошо описывают причины такого поведения.
и перебираться пока не собираемся
А вот это вы зря :) Нужно подумать о переходе на новую версию, потому как команда Angular этим летом выпускает стабильную версию AngularJS 1.7 и еще 3 года long-term поддержки. При этом они не будут принимать PR, issue или еще что-то там (: Пруфф
P.S. Я все новые проекты сейчас пишу на последней стабильной версии Angular и стараюсь всем клиентам объснять необходимость миграции на новую версию.
AngularJS + Webpack = lazyLoad