Автоматически компилировать меньше CSS-файлов в Mac OS X - PullRequest
2 голосов
/ 11 ноября 2011

Я начал использовать меньше CSS.

Я написал небольшой скрипт bash, который вызывает команду "lessc" с моим целевым файлом, а затем передает ее в мой готовый файл css.Это выглядит примерно так:

#!/bin/bash
lessc ~/Documents/Development/Projects/blog/static/css/global.less --watch > ~/Documents/Development/Projects/blog/static/css/styles.css -x

Этот флаг -x сжимает CSS.

Как вы можете видеть, я пытался использовать флаг --watch, который, как я понял, означал бы, что он будет автоматически перекомпилировать CSS каждый раз, когда вы вносите изменения в меньшее количество файлов.Но это не похоже на работу.

Я понимаю, что могу использовать «меньшее приложение», которое кто-то написал, но мне любопытно, как сделать это самому, поскольку это вполне возможно.

1 Ответ

2 голосов
/ 01 декабря 2011

Поскольку реже используется @imports, это слишком сложное решение для просмотра всех задействованных файлов.Вы можете просто использовать простой цикл для частой компиляции, например:

while true; do lessc bootstrap.less > bootstrap.css 2> /dev/null; sleep 5; done

Если это слишком упрощенно, вы можете попробовать использовать -nt тест в Bash, который проверяет, является ли файл mtimeнапример, новее, чем другие (предположим, что bootstrap.less содержит @import для custom.less):

while true
do
    if [ bootstrap.less -nt bootstrap.css ] || [ custom.less -nt bootstrap.css ]; then
        echo "Change detected, regenerating @ $(date)"
        lessc bootstrap.less > bootstrap.css
    fi
    sleep 5
done
...