GuardでTitanium+CoffeeScriptの開発を快適に

久々にTitaniumを触るにあたってCoffeeScriptのコンパイルをGuardにまかせることにしてみたメモ。

Guard

Guardはファイルの変更を監視して、変更があったタイミングで何らかの処理を実行できるツール。
これを利用するとCoffeeScriptを書いたそばから自動的にJavaScriptに変換するなんてことも簡単にできるわけで。

そしてそのものずばりのことを実現するGuard::CoffeeScriptなんてものがあったりします。

Guard::CoffeeScriptの導入

gem install guard-coffeescript

これでGuard本体も入る。あ、要Rubyです。

追記

ファイルシステム監視のために以下のGemも必要だった。

gem install rb-fsevent

上記はMacの場合でLinuxとWindowsの場合は違うGemになるので詳しくはGuardのREADMEを参照。

さらに追記

Growlで通知を出して欲しいときは以下も。

gem install growl

growlnotifyも必要なので入れておくこと。(Growlの配布物のExtrasの中にある)

さらにさらに追記

CoffeeScriptは別途Node.jsなどで入れなくても動いてくれる。

Guardfileの編集

Guard::CoffeeScriptのためにCoffeeScriptのソースの場所とコンパイルしたJavaScriptの出力先を設定する。
以下の内容でGuardfileを作成。(または既存のGuardfileがある場合は追加)

guard 'coffeescript', :input => 'coffee', :output => 'Resources', :bare => true

ここでは次のようなディレクトリ構造を前提としている。

  • project_dir/
    • Guardfile
    • Resources
    • coffee

このケースではcoffee/app.coffeeを編集するとResources/app.jsにコンパイルされる。
coffee以下のディレクトリもうまいこと反映されて、coffee/lib/*.coffeeはResources/lib/*.jsにコンパイルされる。

:inputや:outputは自由に変更可能なので自分の環境に合わせて設定してもOK。
:bareをtrueにしているのはこうしないとTitanium上で動かないため。

GuardfileをResources以下に置くとうまいこと動かないので注意。

Guardの実行

project_dir直下で

guard

これでコンパイルを意識せずにもりもりCoffeeScriptでTitaniumできる。
Guardまじ便利。

前の記事

干渉しあう無線LANたち