Минификация CSS файлов в командной строке

AliExpress RU&CIS NEW

Для любого веб приложения или сайта довольно важным критерием является скорость работы. Важно что бы страницы были как можно легче.

Один из способов это "минификация кода", за счет удаления ненужных символов, пробелов, комментариев и прочих разделителей.

В отличии от различных плагинов под различные CMS, YUICompressor позволяет подготавливать файлы на других серверах, переде публикацией и не тратит ресурсы веб сервера.

Одним из инструментов является YUI Compressor, который является частью библиотеки JavaScript YUI (Yahoo! User Interface), который можно использовать для сжатия CSS файлов и подготовки их распространения в дальнейшем.

YUICompressor так же позволяет минифицировать JS файлы, но так как проект уже давно не разваривается, анализ большинства JS файлов заканчивается ошибкой. И сейчас он пригоден для минификации CSS.

Установка YUI Compressor в CentOS

Устанавливаем Java

yum install java

создаем директорию, куда установим YUI Compressor

mkdir -p /usr/share/java

скачиваем последнюю на данный момент версию

wget https://github.com/yui/yuicompressor/releases/download/v2.4.8/yuicompressor-2.4.8.jar -P /usr/share/java

и создадим скрипт запуска

nano /usr/bin/yui

со следующим текстом

#!/bin/sh
java -jar /usr/share/java/yuicompressor-2.4.8.jar "[email protected]"

установим права на запуск

chmod +x /usr/bin/yui

теперь можно использоваться команду yui для сжатия CSS файлов

yui
YUICompressor Version: 2.4.8

Usage: java -jar yuicompressor-2.4.8.jar [options] [input file]

Global Options
-V, --version Print version information
-h, --help Displays this information
--type <js|css> Specifies the type of the input file
--charset <charset> Read the input file using <charset>
--line-break <column> Insert a line break after the specified column number
-v, --verbose Display informational messages and warnings
-o <file> Place the output into <file>. Defaults to stdout.
Multiple files can be processed using the following syntax:
java -jar yuicompressor.jar -o '.css$:-min.css' *.css
java -jar yuicompressor.jar -o '.js$:-min.js' *.js

JavaScript Options
--nomunge Minify only, do not obfuscate
--preserve-semi Preserve all semicolons
--disable-optimizations Disable all micro optimizations

If no input file is specified, it defaults to stdin. In this case, the 'type'
option is required. Otherwise, the 'type' option is required only if the input
file extension is neither 'js' nor 'css'.

Сжатие CSS файлов из командной строки

для сжатия и миникации используем следующую команду

yui animate.css -o animate.min.css

проверим размер файла:

wc animate.css animate.min.css
4074 9600 95378 animate.css
6 857 75692 animate.min.css
4080 10457 171070 total
ls -l -h
total 172K
-rw-r--r--. 1 root root 94K Dec 7 05:49 animate.css
-rw-r--r--. 1 root root 74K Dec 7 05:50 animate.min.cs

размер файла изменился на 20Кб.

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