コマンドラインオプション
coffeeコマンドのオプション一覧は「coffee --help」で見ることができます。バージョン1.2.0で使用可能なオプションは以下のとおりです。よく使われるものは太字で示しています。その他のオプションは特別な目的がない限り、あまり使う機会はありません。
オプション | 働き |
-b, --bare | トップレベルの関数ラッパーを含めずにコンパイルする |
-c, --compile | JavaScriptにコンパイルして.jsファイルに保存する |
-e, --eval | この後に続く引数をプログラムとして渡す |
-h, --help | ヘルプを表示する |
-i, --interactive | 対話型REPLを起動する |
-j, --join |
ソースファイルをすべて連結してからコンパイルする この後に続く引数を出力ファイル名とする |
-l, --lint |
コンパイル後のJavaScriptをJavaScript Lint(文法チェッカー)にかける JavaScript Lintがインストールされている必要がある |
-n, --nodes | パーサが生成した構文解析木を表示する |
--nodejs | この後に続く引数をnodeコマンドに引数として渡す |
-o, --output | この後に続く引数で指定したディレクトリをJavaScriptファイルの出力先とする |
-p, --print | コンパイル後のJavaScriptを表示する |
-r, --require | この後に続く引数で指定したライブラリをプログラム実行前に読み込む |
-s, --stdio | 標準入力で渡された内容をプログラムとして読み込む |
-t, --tokens | 字句解析器が生成したトークンを表示する |
-v, --version | バージョン番号を表示する |
-w, --watch | ソースファイルを監視し、変更があった時にコマンドを再実行する |
引数をプログラム本体として実行する
「-e」オプションを付けると、その直後の引数がプログラムとして実行されます。
$ coffee -e "console.log 'Hello, World'" Hello, World
さらに「-p」オプションを付けると、実行はせず、コンパイル結果だけを確認できます。
$ coffee -p -e "console.log 'Hello, World'" (function() { console.log('Hello, World'); }).call(this);
トップレベルの関数ラッパーを抑制する
コンパイル時に「-b」オプションを付けると、関数ラッパーが自動的に追加されるのを防ぐことができます。
$ coffee -b -p -e "console.log 'Hello, World'" console.log('Hello, World');
継続的コンパイル
ソースファイルを変更するたびにcoffeeコマンドでコンパイルしなければならないのは面倒なので、変更を検知して自動的に再コンパイルしてくれる継続的コンパイルという仕組みがあります。継続的コンパイルを有効にするには、コンパイル時に「-w」オプションを追加します。
$ coffee -c -w hello.coffee 18:04:07 - compiled hello.coffee
最初に1回コンパイルが行われた後は待ち状態に入ります。ここでhello.coffeeの内容を更新すると、再コンパイルが行われてhello.jsが再生成されます。
$ coffee -c -w hello.coffee 18:04:07 - compiled hello.coffee 18:04:32 - compiled hello.coffee
このコマンドを実行しておけば手動でコンパイルする手間は省けますが、コンパイルエラーを見逃さないように注意してください。
なお、引数を取らない1文字のオプションを複数指定する場合は繋げることができます。例えば「-c -w」は「-cw」に短縮可能です。
継続的コンパイルを止めるには「Ctrl+C」(MacではControl+C)を入力します。