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

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

Навигация:

Похожие

1728319192_ms_class-singular.php_-_arz-wiki_-_Visual_Studio_Code-min - IT photo №28697
4 1
07 Окт 2024

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

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

SEO
1727944996_ms_rtx_2_тыс_изображений_найдено_в_Яндекс_Картинках_--min - IT photo №28687
9 1
03 Окт 2024

Какие видеокарты Nvidia входят в топ-30 для игр?

Nvidia уверенно лидирует на рынке видеокарт. По сентябрьскому отчету Steam, все позиции в топ-30 занимают исключительно решения от Nvidia. AMD не успевает за конкурентом, несмотря на постоянные попытки выйти на новый уровень. Открыть таблицу стим Видеокарты Май Июнь Июль Авг Сент Октябрь NVIDIA GeForce RTX 3060 6.19% 5.66% 5.88% 5.51% 5.86% +0.35% NVIDIA GeForce RTX […]

Новости
ms_chrome_cU8iRX0zoY-min - IT photo №28286
105
16 Фев 2024

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

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

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

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

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

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

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

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

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

Работа с checkbox на jquery

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

checkboxJQuery