При запуске Sass/Compass с Django не может быть намного проще, независимо от платформы, он немного искал найти лучший способ использования CoffeeScript с Django в окне разработки Windows.
Какой лучший способ использовать CoffeeScript с Django, если вы работаете в Windows?
Ответ 1
Node поддержка в Windows значительно улучшилась, так как я опубликовал свой первоначальный ответ (который я уйду в исторические цели), так что теперь гораздо легче получить эту работу.
-
Download и установите Node с помощью установщика Windows. Вы получаете команды
node
иnpm
, которые автоматически добавляются в ваш Windows PATH (доступно в cmd.exe). -
Установите CoffeeScript:
npm install -g coffee-script
. Затем просто для проверки, используя cmd.exe...coffee --version CoffeeScript version 1.4.0 #sweet!
-
Установите django-compressor:
pip install django-compressor
. -
Добавьте в свой settings.py, чтобы django-компрессор предварительно скомпилировал ваш CoffeeScript.
COMPRESS_PRECOMPILERS = ( ('text/coffeescript', 'coffee --compile --stdio'), )
-
Profit! Теперь используйте файлы *. Coffee или inline CoffeeScript в шаблонах Django и автоматически скомпилируйте их в javascript и в сочетании с другими скриптами в один сжатый файл.
Пример (взято из django-compressor docs):
{% load compress %} {% compress js %} <script type="text/coffeescript" charset="utf-8" src="/static/js/awesome.coffee" /> <script type="text/coffeescript" charset="utf-8"> # Functions: square = (x) -> x * x </script> {% endcompress %}
Оригинальный ответ (устаревший):
Цель состоит в том, чтобы писать CoffeeScript прямо внутри шаблонов Django и автоматически преобразовывать его в Javascript (вместе с файлами. coffee). django-compressor имеет прекомпилятор, который делает это до сжатия файла, для которого он лучше всего известен.
Конечно, проблема в том, что вы хотите использовать Windows (что с тобой не так?), а прекомпилятор предполагает, что у вас есть типичная установка Linux node.js и coffee- script, способная вызвать "кофе" , из командной строки со всеми стандартными опциями. Чтобы получить ту же функциональность Windows (не обращаясь к cygwin), вам просто нужно сделать небольшой .bat файл:
-
Возьмите последний двоичный файл Windows node
-
Добавьте путь, содержащий node.exe, в PATH в переменных системной среды Windows
-
Выберите один из:
-
Учитывая, что npm недоступно для Windows, вы можете использовать ryppi, минимальный менеджер пакетов Python Node, чтобы установить пакет coffee- script. Поместите ryppi.py в свою папку сценариев Python.
cd /d C:\Users\<USERNAME>\ #'node_modules' folder can live here or wherever ryppi.py install coffee-script
-
Просто загрузите кофе script с основного сайта
-
-
Добавьте путь \to\coffeescript\bin (содержащий 'cake' и 'coffee') к вашему PATH в переменных системной среды Windows
-
Сделайте командный файл, чтобы вы могли использовать "кофе" из командной строки (кредит для этого), создав файл coffee.bat в папке \to\coffeescript\bin выше, с этим в качестве содержимого:
@pushd . @cd /d %~dp0 @node coffee %* @popd
Без этого вам нужно сделать "node\path\to\bin\coffee" вместо "кофе" .
-
Попробуйте повторно открыть cmd.exe и введите...
coffee --version CoffeeScript version 1.1.2 #sweet!
Теперь вы используете настоящую программу для кофе script на node.
-
Установите предварительный компилятор django-компрессора, чтобы использовать coffee.bat:
COMPRESS_PRECOMPILERS = ( ('text/coffeescript', 'coffee.bat --compile --stdio'), )
Я поместил это в свой файл local_settings.py. Просто оставьте файл .bat, как обычно, в файле настроек, используемом вашим производственным сервером Linux или блоком разработки. Windows не была довольна без .bat.
-
Profit!
Теперь вы можете использовать встроенный CoffeeScript в своих шаблонах Django и автоматически скомпилировать его в javascript и в сочетании со всеми вашими другими скриптами в один сжатый файл .js. Я оставлю детали использования django-compressor для него документации.
Ответ 2
Вы можете использовать один из этих компиляторов CoffeeScript.
Некоторые из них поддерживают просмотр файловой системы, как официальный пакет node. Итак, вы можете запустить консоль и сделать
coffee -c src/ -o /bin --watch
и все файлы coffeescript в src будут автоматически перекомпилированы при их изменении. Вам не нужна специальная интеграция с django, хотя это может быть приятно.
Ответ 3
Django Pipeline (Django >= 1.5) поддерживает компиляцию CoffeeScript, а также множество других материалов (например, LESS, SASS, JS/CSS минимизация и т.д.). Убедитесь, что у вас установлен CoffeeScript, затем pip install django-pipeline
, добавьте 'конвейер' в свой INSTALLED_APPS, а затем создайте следующую запись конфигурации:
PIPELINE_COMPILERS = (
'pipeline.compilers.coffee.CoffeeScriptCompiler',
)
Затем вы можете настроить файлы для компиляции в соответствии с связанными документами - в основном только исходный файл (ы), файл назначения и имя. Вы можете ссылаться на сжатые файлы по этому имени в шаблонах, которым это нравится:
{% compressed_js 'my_compressed_js' %}
Ответ 4
Это выглядит многообещающе для меня: http://pypi.python.org/pypi/django-coffeescript/
Ответ 5
Я нахожу задержку, что компиляция через компрессор добавляет слишком много. Поэтому я компилирую на стороне клиента и проверяю файлы js. Мгновенный и очень удобный, если вы запускаете просмотр файлов при запуске команды запуска: