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まじ便利。