@foxel98

Влияет ли большой js код на нагрузку на сайт и его скорость?

В общем есть файл txt с 800 с чем то категорий и их подкатегорий. Я с помощью js кода вывожу их всех в нескольких списках ul(т.е просто меняю текст в li) но код вышел очень большой(около 3000-3500строк). Будет ли из-за этого сервер выдавать ошибки если на сайт зашло много людей и вообще сильно ли влияет код такого размера на сайт?
  • Вопрос задан
  • 560 просмотров
Решения вопроса 1
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
Будет ли из-за этого сервер выдавать ошибки если на сайт зашло много людей и вообще сильно ли влияет код такого размера на сайт?
JS код не выполняется на сервере (обычно), по этому на сервер напрямую он никак (обычно) не влияет. Влияет он обычно на скорость работы кленитского устройства.

но код вышел очень большой(около 3000-3500строк)
Объём кода обычно оценивается не по кол-ву строк, а по физическому размеру файла. Думаю, 3-4тыс. строк - это не очень много. К тому же, файл(ы) JS (и CSS) можно минифицировать. Если код написан хорошо - то будет нормально работать даже на слабых клиентских устройствах, например на телефонах. (P.S. Сколько Ваш JS-файл занимает Кб? Он минифицирован? И да, не стоит забывать, что на сервере не редко так же включено сжатие GZip или Brotli, по этому более корректно оценивать размер файла в сжатом виде, а не в исходном).

P.S. Вы можете сами оценить нагрузку на клиентское устройство, скорость загрузки сайт и пр. его параметры в инструментах для разработчика браузера (включаются обычно по нажатия F12).
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
alex-1917
@alex-1917
Если ответ помог, отметь решением
Это будет влиять на скорость, но сервер тут не причем, у кого послабее комп или древний смартфон, тот будет видеть "Страница была перезагружена... Блаблабла" и так по кругу!

Тут весь нюанс в деталях (вообще-то дьявол, ну пусть нюанс), вы, как и все новички, половину вопроса утаиваете:
1. как понял я - у вас УЖЕ в коде страницы есть этот длинный список и вы скриптом обновляете элементы, не?
2. 3500 строк - это именно 3500 элементов списка <li>blabla</li>, не?

Тогда да, тогда жопа, браузер на декстопе i3 + 16Gb спотыкается на 4000-5000 элементов DOM и это в идеальном случае, в реальности 1000, а дальше одни теории.

Решение тут одно - так как человеческий глаз в принципе не может охватить сразу 3500 элементов, более того, даже сотню охватить не всякий может, то выводите с подгрузкой, с задержкой, все равно никому эти ваши 3500 строк сразу одномоментно не нужны!! хотя если у вас система вывода информации о полете косм. корабля для ЦУПа, тогда возможно)))

Короче, LazyLoad!
Ответ написан
Комментировать
@mrxakerrus
формат передачи данных изменить с txt на json (удобнее для передачи), использовать async defer для загрузки скрипта, а внутри прописать domcontentonloaded (вроде правильно написал, если что в инете поищи, есть еще onload просто и ready), вывод содержимого делать на как статика, как динамика, если используешь список, то при прокрутке подгрузку делать просто..
P.S а теперь конкретный ответ на твой вопрос, да, большой Js влияет на загрузку сайта (3000-3500 строк, ты там что написал то? фреймворки столько даже не используют, так что вперед переделывать с нуля скрипт чтобы все четко работало), на скорость будет влиять, чем меньше используешь пространства, тем лучше, в твоем случае поможет fetch с подгрузкой (либо ajax(сложнее), либо xhr (легко), fetch пока что не так часто используют)) и формат поставь json и при множественном пролистывании вниз страницы, не удаляй элементы, а делай из hidden просто, а когда обратно будешь листать меняй это свойство( лучше все это делать с добавлением класса к элементу). Можешь проверить свой сайт на google pagespeed
Ответ написан
Комментировать
Exploding
@Exploding
wtf?
Вставлю-ка и я свои "5 коп": че вы к этим 3-3,5к строкам привязались то все? Вроде бы и взрослые люди, а "длину" "литрами" меряете...
Откуда вы знаете, что этот человек написал в этих 3к js-a что уже даже время лага умудрились высчитали?))
Может быть этот файл содержит просто набор плагинов, которые используются в разных местах сайта!
А уложить нахрен всё можно и парой строк.
Так что кол-во строк js-a вообще глупо брать за входные данные. Тут решает содержание и качество, но уж совсем не колличество строк.
P.S. По вашему, если взять минифицированный плагин и все методы и т.д. натыкать энтеров - изменится время выполнения скрипта? Или безбожно вес файла вырастет до небес?))
Пойду спать.
Ответ написан
Ваш ответ на вопрос

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

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