2015-03-12 4 views
0

Я работаю над очень большим приложением, используя angularjs в интерфейсе. В моем проекте есть различные модули, и каждый модуль сам по себе является проектом, так как управление школьным образованием является модулем в моем приложении.Архитектура приложения Angularjs для большого приложения для повышения производительности

Что я нашел, когда приложение изначально загружается, размер DOM составляет почти 25 мб. И я только в середине проекта. После использования проекта на какое-то время мой браузер зависает, и в то время размер DOM составляет почти 120 мб и выше.

Просьба предложить способ настройки моего проекта, как я организую директивы, контроллеры и службы. Как я их связываю. Я знаю, что есть некоторая ошибка в дизайне архитектуры моего приложения, привязка контроллеров и т. Д.

ответ

1

Все 25MB требуется на страницеLoad? Не возможно!

Вы должны использовать RequireJS для больших приложений JS. Это также поможет вам структурировать ваши модули, а управление памятью браузера станет эффективным.

Сплит все большие модули в подмодулях и изолированы от другого.

Например.

Root APP

  • Модуль Распространенные = app.module('mCommon')
    • Услуги
    • Директивы
    • Фильтры
    • Шаблоны
  • Модуль A = app.module('mA', ['mCommon'])
    • Услуги, которые будут использоваться только в модуль A
    • директив, которые будут использоваться только в модуле A
    • Контроллеры/Фильтры, которые будут использоваться только в модуле A (Используйте RequireJS для загрузки этот модуль, загрузите общий и загружать только необходимый контроллер и услуги -. Dont называть все файлы)
    • Шаблоны могут быть использованы только в модуле A
  • модуль B = app.module('mB', ['mCommon'])
    • Следовать как модуль А
  • Модуль C
  • CSS
  • Изображения

Надеется, что это помогает!

+0

кажется, что DOM также продолжает расти, когда я продолжаю использовать свое приложение. Я новичок в angularjs. пожалуйста, помогите – Abhimanyu

+0

Использовать UI-маршрутизатор (https://github.com/angular-ui/ui-router) довольно простую функцию углового маршрута. Вы должны использовать функцию templateUrl для просмотра, чтобы загружать только необходимый HTML для каждого вида.Таким образом, как только вы перейдете с одной страницы на другую, ваш DOM будет иметь только новый HTML, старый будет уходить. Более легкая HTML-страница. –