Приложение Angular2 — удаление блокирующего рендеринг JavaScript

У меня есть приложение angular2 firebase.

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

Мне нужно уменьшить задержку с 4 секунд до 2 секунд.

Когда я смотрю исходники в консоли в хроме, он просто останавливается на 4 секунды, а затем загружается. Кажется, что рендеринг блокирует JavaScript - правильный термин?

Что я пробовал:

  • HTML5 async и defer в 12 библиотеках JavaScript.
  • Я попытался объединить библиотеки в один файл, но это дало мне множество ошибок.
  • Мой CSS в порядке и все минимизировано.
  • Все файлы js 12 минимизированы.
  • Все 12 библиотек JavaScript хранятся локально и не запрашиваются с других серверов.
  • I have images on my website and they are all optimized and compressed and placed on a CDN.
    • I use cloudflare and all the performance toggles are on.
    • Я размещаю с Firebase.
    • Файлы JavaScript находятся ниже, а не в заголовке.

Мои оценки PageSpeed ​​Insights от Google: (Источник: https://developers.google.com/speed/pagespeed/insights/)

  • 61/100 для мобильных устройств.
  • 83/100 для рабочего стола.

Я не могу использовать вебпак.

Мне просто нужен простой способ показать пользовательский интерфейс, а затем загрузить библиотеки.

Дайте мне знать, если у вас возникнут дополнительные вопросы.


person AngularM    schedule 02.12.2016    source источник


Ответы (1)


Angular 2 генерирует ваш пользовательский интерфейс, поэтому то, о чем вы просите, поначалу кажется невозможным. Но вам повезло: команда angular 2 работает над тем, чтобы вам помочь. На самом деле он уже готов к использованию, но я не думаю, что вы можете использовать его в сочетании с хостингом Firebase. Взгляните на https://universal.angular.io/. Он позволяет отображать начальный вид на стороне сервера.

person enf0rcer    schedule 09.03.2017