Да, правда! Когда я говорю об этом с людьми, я обычно слышу: "Эй, если бы я знал, как это сделать без JavaScript, я бы так и сделал!"

Если у вас была похожая мысль, вы упускаете суть. Отправка меньшего количества JavaScript – это метод, направленный на сокращение времени, затрачиваемого браузером на синтаксический анализ кода. Это преследует две основные цели:

  1. Чтобы ваша первая покраска случилась раньше
  2. Чтобы сделать ваше приложение интерактивным (намного!) раньше

Таким образом, вам не нужно воспринимать это буквально. Если вы не можете найти способ заменить свой JavaScript какой-либо реализацией только на CSS или использовать существующие функции платформы, вы все равно можете — и должны — отправлять меньше JavaScript заранее.

Сначала отправьте АБСОЛЮТНЫЙ МИНИМУМ. Затем асинхронно загрузите другие фрагменты.

Если вам действительно нужен весь этот JavaScript, пожалуйста, отправьте его, но делайте это с умом. Сначала отправьте АБСОЛЮТНЫЙ МИНИМУМ. Затем асинхронно загрузите другие фрагменты. Однако будьте осторожны! Не попадайтесь в ловушку, разделяя свой код всего на два пакета: первоначальный очень маленький и огромный со всем остальным. Это просто отложит проблему, так как она все равно заблокирует основной поток, как только придет ваш код. Разделите столько пакетов, сколько это разумно, чтобы не блокировать основной поток сразу слишком долго.

Я читаю каждый комментарий и с нетерпением жду вашего мнения! Также этот материал является частью проекта #ASKTHEINDUSTRY, который представляет собой распределенное интервью для веб-индустрии: вы спрашиваете, я отвечу или найдите того, кто сможет! Оставьте комментарий, если есть что-то, с чем я могу вам помочь!