Стоит ли разбивать css/js для разных страниц?

Имеет ли смысл разделять на сервере по разным страницам , к примеру с помощью is_product() функций, js и css код, будет это оптимизировать скорость работы, или из за того что будут постоянно грузится новые файлы, вместо того что бы 1 раз загрузится и улететь в кэш, это наоборот будет вставлять палки в колеса?
  • Вопрос задан
  • 557 просмотров
Решения вопроса 3
Kozack
@Kozack Куратор тега CSS
Thinking about a11y
В общем случае -- стоит.

Но это больше всего зависит от вашего конкретного случая. Сколько кода является общим для всех страниц? Сколько уникально для каждого типа страниц? Сколько уникально для каждой страницы? Какова модель поведения пользователя? Он посетит все страницы сайта или только страницы одного типа? Пользователи заходят на сайт только раз, или постоянно возвращаются? С каких устройств и с какой скоростью интернета к вам приходят? Как построен процесс деплоя? Какие тарифы у вашего хостинга? Как часто и что вы изменяете в исходном коде? Как будете инвалидировать кэш? И ещё очень много вопросов, которые нужно учитывать.

Можно всё сгрести в один огромный бандл. Тогда первичная загрузка будет дольше, особенно ощутимо на медленном интернете. Но навигации по страницам будут быстрее, а нагрузка на сервер меньше. Но при изменении, скажем цвета одной кнопки, пользователю придётся заново качать весь бандл. И наоборот. Можно уйти и в другую сторону: дробить всё на как можно меньшие кусочки. (Например вынести весь код для какой-то модалки отдельно) и загружать каждый чанк только в момент когда он понадобится. Так первичная загрузка будет намного быстрее, но реакция на действия пользователя будет медленнее.

В общем случае -- дробить код сайта на куски и отдавать их частями -- стоит. Но вмеру. А как именно делить -- зависит от вашего случая.
Ответ написан
UDAV99
@UDAV99
web программист, верстальщик
Делайте как удобнее, разницы в производительности не заметите, несколько микросекунд будет и то врятли. Главное кешировать файл.
Ответ написан
@weart
Все стили блоков и пр собираю в единые бандлы, библиотеки (слайдеры и пр) гружу только там, где нужны.
Итог ~ 90-100 баллов по google page speed.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы