2015-03-29 4 views
-1

Я создаю угловое приложение. Приложение стало слишком большим, и мой индекс html подвергся обложению 80 + javascript-файлами. Я связал и уменьшил файлы JS, но загрузка всех файлов сценариев при запуске приложения - не очень хорошая идея.Асинхронные угловые контроллеры и заводы

Как загрузить скрипты только тогда, когда они требуются?

+0

Модуль-загрузчик не помог бы уменьшить количество загружаемых файлов. Он будет загружать те же самые файлы при загрузке страницы. Обычно minifier объединяет файлы в один файл, вместо этого вы уменьшаете каждый файл отдельно? – JJJ

+2

Определить *** лучший ***. – Matt

+0

Привязанный к теме вне темы вызывают мнение. – Vishwanath

ответ

1

Lazy loading AngularJS не так прост, как загрузка файлов по требованию. Угловые обычно требуют всех своих компонентов, таких как модули, директивы, службы вверх, за исключением шаблонов, которые можно загрузить async.

Существует несколько вариантов решения этой проблемы. ocLazyLoad является одним из них.

Вы можете использовать ocLazyLoad для загрузки контроллеров, модулей, служб при необходимости. Существует также поддержка маршрутизации с использованием углового ui-маршрутизатора с ocLazyLoad. Вы можете даже комбинировать ocLazyLoad и RequireJS, который позволяет вам использовать оптимизатор r.js Require для конкатенации файлов в соответствии с модулями с наименьшими конфигурациями.

OcLazyLoad имеет хорошие примеры для разных случаев в ссылке, которую я назвал выше, но я также сделал образец Angular-Boilerplate, который имеет базовую структуру и Gruntfile, который имеет задачи для объединения модулей. (я должен добавить документацию для шаблона thogh)

Смежные вопросы