/ Подключаем только необходимые скрипты и стили

Подключаем только необходимые скрипты и стили

Когда-то давным-давно CSS и JavaScript-код размещались прямо в HTML-коде. После, когда их стало много — в отдельном файле… в одном отдельном файле. Прошло время, и файлов стало тоже много, прям очень… Много файлов — много запросов к серверу, что плохо… решили объединять их в один, опять проблема — этот файл мало того, что просто огромный по объёму и долго загружается, так ещё он долго и тяжело интерпретируется браузером. При чём, загружается он один раз (на каждом сайте), а интерпретируется на каждой странице. Умные люди задумались, как же уменьшить нагрузку… и придумали, ура! Надо на каждой странице загружать только те файлы с CSS и JavaScript, которые необходимы именно на этой странице.

Как же нам это сделать в Неткэте

Страница сайта на Netcat CMS состоит из компонентов, у каждого из них могут быть необходимые для его работы JavaScript-файлы и для визуальной «красоты» — CSS. Вот их мы и будем подключать в макет дизайна по необходимости. Тем самым уменьшая общий объём стилей и скриптов, которые браузер пользователя будет интерпретировать на каждом хите.

В компоненте, в поле «системные настройки» пишем код:

$thisComponentPath = str_replace(array($DOCUMENT_ROOT, 'Settings.html'), '', __FILE__);
//echo $thisComponentPath;
$GLOBALS["css"][] = $thisComponentPath."styles.css";
$GLOBALS["js"][] = $thisComponentPath."script.js";

В соответствующую папку размещаем файлы стилей и скриптов. Если вы пока не очень хорошо ориентируетесь по файловой системе Неткэта, можете раскомментировать строку с echo, и в публичной части увидите путь к требуемой папке, куда разместить файлы стилей и скриптов, после чего, закомментируйте строку обратно!

В макете дизайна размещаем такой код:

<?=( count($GLOBALS['css']) > 0 ? '<link href="'.nc_minify_file(array_unique($GLOBALS['css']), 'css')[0].'" rel="stylesheet">' : NULL )?>
<?=( count($GLOBALS['js']) > 0 ? '<script src="'.nc_minify_file(array_unique($GLOBALS['js']), 'js')[0].'"></script>' : NULL )?>

В первом включении из глобального массива берём адреса файлов стилей (предварительно уникализировав массив — на одной странице может быть несколько включений одного компонента), минифицируем их, объединяем в один файл и вставляем на страцину HTML-код подключения стилей. Во втором включении то же самое делам с файлами скриптов. Его рекомендуется делать внизу страницы, перед закрывающим тэгом body.

Назад к списку статей