CSS объединяет файлы и сжимает - PullRequest
5 голосов
/ 26 октября 2011

Я хочу иметь возможность во время сборки представить группу файлов CSS и выполнить следующие действия:

  • Объединить все CSS-файлы в один CSS-файл
  • Объедините все перекрывающиеся селекторы
  • Удалить все комментарии
  • Удалить ненужные пробелы
  • Удалить пустые стили

Я уверен, что есть и другие, но с этого я и начинаю.

Это предпочтительный порядок доступа к инструменту:

  1. Удаленный сайт
  2. Веб-хостинг установлен - так же, как мой сайт (Debian / PHP 5.2.12)
  3. Локальная машина установлена ​​(Windows 7)

Я видел CSS Compressor , но он не объединяет CSS-файлы и не совмещает перекрывающиеся CSS-селекторы.

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 26 октября 2011

Я бы порекомендовал YUI компрессор , поскольку он широко используется и имеет интерфейс командной строки.

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


Сначала объедините ваши файлы:

type file1.css file2.css file3.css > combined.css

затем передайте его компрессору YUI:

java -jar yuicompressor.jar combined.css > combined-min.css
0 голосов
/ 20 июля 2014

Вы должны использовать sCSSOptimizer .

  • Пример

Если вы хотите скомпилировать более одного файла CSS, чем это делает

<?php
require('./sCSSOptimizer/scssoptimizer.class.php');

$css1 = file_get_contents("./cssfile1.css");
$css2 = file_get_contents("./cssfile2.css");

$final_css = $css1.$css2; //you can join more, if you want...

$scss = new sCSSOptimizer($final_css);

//$compression_rate = $scss->getCompressionRate();

$compressed_css = $scss->getOptimized();
//do your stuff
?>

.

0 голосов
/ 12 декабря 2011

Вы можете попробовать Весёлый . Он будет объединять и сжимать файлы, а v2 имеет интерфейс командной строки .

Хотя я запускал его только в Visual Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...