Каковы возможные причины того, что мое приложение медленно работает на ng serve? - PullRequest
0 голосов
/ 05 февраля 2019

У меня очень медленный результат компиляции и вывода при изменениях.

Моя текущая служба ng выполняет обновление после простого изменения текста в файле в течение примерно 20 секунд.(На самом деле время компиляции короткое, в пределах 3-5 секунд), остальные 15 секунд - это процесс перезагрузки браузера.На вкладке «Сеть» я понял, что процесс, который занимает больше всего времени, - это websocket, тогда как он занимает 13 секунд.

В этом случае, что может быть основной причиной?Это потому, что я использую внешние библиотеки, такие как rxjs и lodash?Это потому, что я импортировал начальной загрузки CSS в каждом файле Scss?Или это из-за моих компонентных структур?(У меня несколько модулей)

Хотелось бы узнать, как мне сократить его до 3 - 5 секунд, так как это сильно повлияет на мою производительность.

Спасибо

Вот размер пакета: enter image description here

Вот мой маршрут модуля администратора:

enter image description here

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

В этом ответе есть несколько частей, которые мы извлекли из комментариев и чата, добавив краткий ответ здесь.

Быстрое спасибо за ссылку от @ ISanchez , это хорошее место для людей, чтобы начать знакомство с производительностью в Angular.

Сначала мы рассмотрим медленную перезагрузку (обновление сборки).Попробуйте сделать меньшие модули.Это позволит перестроить работать с меньшим количеством кода одновременно.После того, как вы измените модуль, он нуждается в перестройке, которая может занять больше времени, чем больше модуль.Хотя это не является фактом или стандартом, я настраиваю бюджеты всякий раз, когда могу в проекте, чтобы мои модули не превышали 200 КБ (за исключением поставщика и начального уровня).При этом у меня обычно очень приемлемое время восстановления:)

Кажется, что длительное время загрузки частично связано со всеми загрузками, импортируемыми в нескольких местах.Уменьшение этого до надлежащего импорта / mixins должно смягчить некоторые из этого.Еще один рефактор, который поможет, - это разделение модулей на ленивую загрузку.Модуль администратора довольно большой, и даже может быть разделен на несколько модулей администратора (с общими функциями администратора, импортированными в каждый).Предложение «общих функций» хорошо смоделировано в репозитории Angular material2 , в котором каждый модуль импортирует в основном то, что ему нужно для работы.Если у вас по-прежнему возникают проблемы с слишком большими модулями с отложенной загрузкой, вы можете указать не дочерние модули маршрутизации для загрузки с отложенной загрузкой (например, большой модуль с «общими функциями»).

0 голосов
/ 05 февраля 2019

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

Советы по угловой производительности Статья

Личные советы:

RxJS v6 и Webpack v4

...