Я попытался изо всех сил принести размер пакета Angular 2 и был относительно успешным в уменьшении размера до ~ 300 кб (Angular 2 + jquery + bootstrap + некоторые другие небольшие сторонние библиотеки), используя Browserify
+ Rollup
+ Minify
+ GZIP
, но даже с этим размером все еще требуется некоторое время, чтобы загрузить пакет, а затем началось начальное время загрузки для отражения и zone.js, что означает может занять до 4-5 секунд на более медленных устройствах (мобильных телефонах) для загрузки сайта.
Хотя я понимаю, что это неизбежно (на данный момент, по крайней мере), есть ли способ показать ход загрузки для начальной загрузки в процентах от загрузки download/reflection/zone.js?
Большинство примеров здесь:
<body>
<my-app>Loading...</my-app>
</body>
Что работает, а Loading...
может быть заменен счетчиком или любым настраиваемым шаблоном, который можно выбрать, но есть ли способ получить реальный прогресс значимым образом?
То, что я ищу, - это что-то вроде Gmail
загрузки прогресса, который является фактическим индикатором выполнения с min/max, а не некоторым неопределенным счетчиком, чтобы пользователи могли иметь некоторую форму указания относительно того, сколько времени им нужно будет ждать для загрузки сайта.
Большое спасибо заранее,
Обновление (24-Oct-2016)
Я начал использовать NGC
для компиляции вовремя (https://angular.io/docs/ts/latest/cookbook/aot-compiler.html), которая немного ускорилась ( хотя размер пакета увеличился до ~ 500 тыс. фунтов стерлингов, но он по-прежнему занимает ~ 300 мс, чтобы загрузить веб-сайт после того, как все было загружено.
В идеале, я хотел бы иметь возможность перехватывать процесс загрузки и загрузки, исследовать их статус (например, 230kb/500kb, загруженный или 10% полного построения модуля), а затем загружать индикатор выполнения и строку состояния что на самом деле дает некоторые указания пользователю, что именно они ждут.
В настоящее время я загружаю минимальный CSS для индикатора выполнения, показываю его, а затем загружаю все Angular вещи по порядку функции onLoad
, и пока он намного более плавный, чем раньше, он все еще не очевиден сколько времени пользователю придется ждать - от половины до нескольких секунд в зависимости от подключения к Интернету и возможностей устройства.