Скомпилировать CoffeeScript при сохранении?

Есть ли способ легко скомпилировать CoffeeScript при сохранении? Я использую TextMate или Sublime Text 2.

7 ответов

Решение

Coffeescript имеет функцию "смотреть". Вы можете настроить как полупостоянный процесс:

coffee –wc -o media/js/ src/coffee/*.coffee

И для каждого файла с расширением ".coffee" соответствующий скомпилированный файл ".js" будет помещаться в целевой каталог при каждом сохранении.

Тем не менее, я использую make-файл и fabfile, потому что мой HTML - это HAML, мой CSS - это LessCSS, а мой каталог разработки - это не мой путь тестирования, поэтому мне нужно что-то достаточно умное для "сборки и развертывания".

Если ваша машина поддерживает inotify, вы можете использовать inotifywait для просмотра всего вашего рабочего пути и вызывать Make по мере необходимости. Но в этот момент вы увлечены жестким гикерием.

Вы также можете сделать это без командной строки:

  1. Добавьте процесс сборки в Sublime Text.
  2. Удостоверься что Save All on Build выбран в Tools меню.
  3. Используйте ⌘B вместо ⌘S при сохранении.

Поэтому вместо компиляции при сохранении вы экономите при компиляции.

Наиболее простым решением с Sublime является установка пакета Sublime с именем Better Coffeescript (предпочтения -> управление пакетами -> установка пакета...), а затем убедитесь, что его конфигурация включает "compileOnSave": true (Настройки -> Настройки пакета -> Лучше Coffeescript...). Затем перезапустите Sublime.

Для Sublime чего-либо еще недостаточно или слишком много дополнительных компонентов. Просто пришел сюда после обновления до Sublime 3, и он работает как шарм для Sublime 3 (как это было для Sublime 2, я просто забыл об этом сначала).

Что ж coffee --watch имеет 2 основных недостатка:

  • Новые файлы, созданные после ввода команды, не отслеживаются
  • Требуется ручное инициирование, так что может быть шанс, что вы забудете это сделать, что звучит не блестяще, чем забыть собрать перед вами git commit Это

Решение, которое я придумал, это довольно простой скрипт Bash, который принимает coffee --watch еще несколько шагов, которые позволят отслеживать ваше рабочее дерево каталогов с момента входа в систему и автоматически компилироваться в JavaScript при каждом сохранении / изменении файла или создании нового файла:

http://blog.gantrithor.com/post/11609373640/carefree-coffeescript-auto-compiler

Может быть более элегантный способ сделать это, но эта реализация прекрасно работает =)

Если вы также хотите пакетирование, buildr также предлагает просмотр и пакетирование: https://github.com/balupton/buildr.npm

Скрипт (Java|Coffee) и (CSS|Less) (Builder|Bundler|Packer|Minifier|Merger|Checker)

gem install stasis
stasis -d

Лучшее решение, которое я нашел, по сравнению со всеми другими инструментами статической компиляции, такими как StaticMatic, Middleman и т. Д.

Очень гибкий и настраиваемый и не зависит от какой-либо предустановленной структуры папок. Просто добавь controller.rb и напиши какой-нибудь рубин. Много помощников для выполнения умных вещей до / после компиляции.

https://github.com/winton/stasis

Мне нравится codekit:) Простой и эффективный способ компилировать coffeescript, sass, less, haml и многое другое с множеством тонкостей. http://incident57.com/codekit/

Другие вопросы по тегам