Последние пару месяцев я занимался созданием шаблона для перевода сайта с ВП на Альто. За основу был взят шаблон Experience Simple. Об этом я пожалел, когда было сделано уже половина работы. Я стал активно избавляться от всего лишнего, было переписано очень много css и html кода, поправлен js. В итоге вес шаблона с 3,21Mb сократился до 1Mb без ущерба функциональности. К чему я все это пишу. Сейчас очень остро встал вопрос по оптимизации js из ядра движка, я хочу узнать, может быть, у кого есть «списочек» того, что используется в шаблонах, а от чего можно отказаться? Загружать при первом посещении по 1,5Mb скриптов, глядя на белую страницу по 10-15 секунд, это просто... ну нет слов. Перенести скрипты в футер или ужать gzip'ом тоже нельзя, часть или все функции отваливаются. Понятно, что это вопрос больше индивидуальный и все зависит от предъявляемых требований. Если не «список», то хотя бы посоветуйте инструменты для аудита js.
Вот на примере bootbox.js — насколько я могу понять, он используется для вызова модального окна при правке участников в личных сообщений, весит 30Kb, ужатый 9Kb, где он еще используется? Или, например, jquery-ui — слон в 350+180Kb, наверняка некоторые компоненты не используются, библиотеку можно пересобрать на официальном сайте. Кажется, что вес скриптов маленький, но вот из таких кирпичиков получается целая гора, как в случае с шаблоном Experience Simple, в котором правила в css могут дублироваться по несколько раз и образую целые каскады наследования. Разбираться в тонкостях нет желания, легче все переписать. Вопрос об аудите js кода, я думаю, назревает со времен ЛС. Что посоветуете, господа?
Да, и в качестве дружеского совета хотел бы предупредить, если у вас нет знаний в веб разработке, то лучше не используется на своих сайтах шаблон Experience Simple.
сентября
23
2015
0
38 комментариев
Если я правильно понял, shtrih в одном из тикетов на гитхабе предлагал Вадиму какую-то php библиотеку для постепенной подгрузки нужных файлов, но чем все закончилось я уже не помню. Пока буду играться с консолью в Хроме ))
А денверу — увы! — пора на свалку истории.
the-boss глянь есть ли у тебя и правильно настроено или нет
Поддерживаю. Хотелось бы вырезать из Альто все, что не нужно и по надобности подключать.
Чем быстрей загружается и меньше весит тема, тем лучше для ПС.
Например, кроме разбивки на два блока скриптов, как писал выше в комментах (т.е. что-то грузим в хедере, что-то в футере), можно (нужно) еще поэкспериментировать с атрибутами defer и async, объединяя скрипты в группы с одинаковыми атрибутами. Например, если используется какой-то скрипт без зависимостей — можно смело ему ставить async — пусть браузер сам решает, когда его грузить и выполнять. А jquery-плагины можно объединять в группу с defer, подключая их после jquery.
А с чем это связано? На какие трудности можно напороться?