background gradient
s2 - IT photo №27611

Gulp: меняем длинные классы на короткие

Уменьшаем размер проблемы на 50% при помощи gulp-selectors!

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

Для начала я наткнулся на комбинаторную библиотеку generatorics, которая должна была генерировать последовательности имен классов вроде (a, b, c, …). Но, увы, она не справилась с задачей, так как не могла обрабатывать последовательные селекторы в CSS-файлах.

Не сдался — попробовал gulp-selectors! В первый этап я включил в игнор все ID и селекторы, начинающиеся на js-, к которым привязана логика сайта. И вот что получилось:

  • CSS-папка уменьшилась с 200 Кб до 100 Кб.

Настройки GULP:

Мой файл cssname.js

import gs from "gulp-selectors";
export const cssname = () => {
  var processors = {
    'css':  ['scss', 'css'],        // run the css processor on .scss and .css files
    'html': ['haml'],               // run the html processor on .haml files
    'js-strings':   ['js']          // run the js-strings plugin on js files
  },
  ignores = {
    classes: ['hidden', 'active','js-*'],  // ignore these class selectors,
    ids: '*'                        // ignore all IDs
  };
  return app.gulp.src([`${app.path.buildFolder}/**/*.css`, `${app.path.buildFolder}/**/*.html`])
  .pipe(gs.run({},ignores))
  .pipe(app.gulp.dest(`${app.path.buildFolder}`));
};

Вызов cssname в gulpfile.js:

1724329073 ms ● gulpfile.js kakdela visual studio code admi min 6

Команда для установки: npm i gulp-selectors --save

Итог:

1724329738 ms kakdela google chrome min 8

Добавить комментарий

Навигация:

Похожие

Фото инструкция по отключению ECH в Cloudflare (TLS v3)
26 1
06 Ноя 2024

Как в CloudFlare отключить ECH

Интернет заблокирован: как Cloudflare и ECH столкнулись с Роскомнадзором Интернет в росссии столкнулся с глобальной блокировкой — тысячи сайтов с ECH перестали открываться в россии. Что такое ECH и зачем оно нужно? ECH (Encrypted Client Hello) — это технология, позволяющая шифровать трафик и скрывать доменные имена от провайдеров. Включение ECH на серверах Cloudflare помогло пользователям […]

SEOНовости
1728319192_ms_class-singular.php_-_arz-wiki_-_Visual_Studio_Code-min - IT photo №28697
27 2
07 Окт 2024

Что делать, если Rank Math обрезает описание и заголовок?

Я ипользовал шорткод с большим количеством параметров, из-за чего Rank Math обрезал description и title. В итоге шорткод был обрезан а эффективность SEO снизилась. Это произошло из-за ограничений по длине, которые плагин устанавливает для соответствия рекомендациям Google. Как изменить ограничение? Можно изменить ограничение на длину вручную: Откройте seo-by-rank-math /includes /frontend /paper /class-singular.php. Отредактируйте строку: Измените […]

SEO
ms_chrome_cU8iRX0zoY-min - IT photo №28286
117
16 Фев 2024

Создаем зоны доставки в Яндекс.Картах

Яндекс.Карты предоставляют широкий спектр возможностей для создания интерактивных карт. Одним из функционалов является возможность создание зон доставки и проверка на попадание в зону доставки, которые помогут рассчитать стоимость доставки. В коцне страницы вы найдете пример карта и сможете скачать пример. Получение данных о зонах доставки Первым шагом для создания зон доставки в Яндекс.Картах является получение […]

JavaScriptЯндекс
chrome_BNPT3dlCjt-min - IT photo №27941
39 1
15 Ноя 2023

Как в JS или jquery оставить цикл?

Разберем несколько вариантов которые помогут закрыть цикл. Как остановить цикл в JavaScript? Один из способов остановить цикл в JavaScript — использовать оператор break. Простой пример кода с использованием break: В этом примере цикл for будет выполняться до тех пор, пока переменная i не достигнет значения 5, после чего он прекратит свое выполнение. Как остановить цикл […]

JavaScriptJQuery
chrome_cSjvt8l17u-min - IT photo №27889
384 5
14 Ноя 2023

Как в яндекс картах добавить событие при клике?

В этой заметке освоим клик по метке на яндекс картах. Код ниже использует библиотеку Яндекс.Карт (Yandex Maps API) для создания карты и отслеживания события клика по метке. Давайте разберем код по шагам: :  ждем полную загрузку API перед вызовом функции : Эта функция содержит код инициализации карты, создания поинтов и установки события клика. : Здесь […]

HTMLJavaScriptЯндекс
checkbox - jquery examples
247 5
10 Ноя 2023

Работа с checkbox на jquery

Мы подготовили для вас сборник примеров работы jquery с checkbox. Как проверить состояние checkbox? Если вы хотите проверить состояние чекбокса, просто используйте свойство checked. Например: Для определения состояния чекбокса можно воспользоваться свойством checked. Если значение этого свойства равно true, то чекбокс отмечен, иначе — не отмечен. Как отменить и снять checkbox? Чтобы снять галочку с […]

checkboxJQuery