Скомпилировать 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 по мере необходимости. Но в этот момент вы увлечены жестким гикерием.
Вы также можете сделать это без командной строки:
- Добавьте процесс сборки в Sublime Text.
- Удостоверься что
Save All on Build
выбран вTools
меню. - Используйте ⌘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
и напиши какой-нибудь рубин. Много помощников для выполнения умных вещей до / после компиляции.
Мне нравится codekit:) Простой и эффективный способ компилировать coffeescript, sass, less, haml и многое другое с множеством тонкостей. http://incident57.com/codekit/