Существуют ли какие-либо библиотеки/пакеты Python, такие как Ruby's Juicer/Sprockets/bundle_fu?

Ищете библиотеку python, которая обрабатывает минимизацию и объединение файлов JS\CSS вместе...


person Eran Kampf    schedule 03.08.2010    source источник
comment
mail.python.org/pipermail/python-list/2009- March/1195436.html Сомневаюсь, что с тех пор многое изменилось, но хотелось бы услышать ответ   -  person Daniel Kluev    schedule 03.08.2010
comment
Привет? Вы в отпуске? Обычно помогает получить нужный ответ, если вы сообщаете существующим респондентам, что не так с их ответами.   -  person ssokolow    schedule 20.09.2010


Ответы (3)


Как сказал Анураг, пользователи Django могут использовать django-compress.

Если вы используете Pylons или TurboGears 2.x, есть два варианта работы в реальном времени:

  • MinificationWebHelpers (помощники минимизации в реальном времени для CSS/JS, которые поддерживают использование Beaker для кэширования вывода)
  • Minimatic (форк MinificationWebHelpers. Некоторые пользователи клянутся им, но, по словам автора MinificationWebHelpers, разработчики не желают сотрудничать с апстримом для слияния изменений)

Насколько мне известно, параметры Django и Pylons в реальном времени выполняют только минимизацию и конкатенацию. Они не анализируют Javascript для реализации какой-либо директивы import/include.

Если вы предпочитаете пакетный вариант, я не могу придумать ничего, написанного специально на Python, но это варианты, которые я видел, как другие разработчики Python использовали:

  • Напишите сценарий Python или оболочки, который запускает инструмент низкого уровня, такой как YUI Compressor (Java) или jsmin.py и выполняет любую конкатенацию, которую он не делает для вас. (Один из моих проектов делает это. Он не дает вам директив импорта/включения, но выполняет работу с минимальными зависимостями.)
  • RequireJS Optimize (инструмент минификации и управления импортом для связывания JS/CSS. Написан на Java. )
  • Соковыжималка использовала с RequireJS (требуется Ruby и использует объявления импорта в стиле JavaDoc в дополнение к вызовам RequireJS, но делает зависимость Java (для YUI Compressor ) по желанию.)
  • Ender.js или Jam (оба написаны на Node.js)

Если решение на чистом Python действительно важно, я советую либо использовать параметры реального времени (проще для разработки с такими вещами, как paster --reload), либо написать команду для setup.py или paster, который использует jsmin .py и cssmin для выполнения тяжелой работы.

Примечание. Из-за отсутствия документации ссылка setup.py указывает на одну из моих записей в блоге.

Этот ответ SO также может быть полезен: скрипт Python для минимизации CSS?

person ssokolow    schedule 30.08.2010

Если вы используете Django, вы можете использовать django-compress.

person anurag    schedule 12.08.2010

Проверьте этот простой скрипт Python.

http://github.com/hkasera/minify

Он также минимизирует файлы js и css. Он даже хранит подробные файлы журналов, иллюстрирующие ошибки и предупреждения во время процесса.

Надеюсь, это может помочь!

person hkasera    schedule 19.12.2013