CoffeeScript‎ > ‎

Coffee コマンド

.coffeeをコンパイルしたり、REPLを使うためのコマンド。

$ coffee [options] path/to/script.coffee

 -c, --compile  .coffee を .js にコンパイル
 -i, --interactive  REPLを起動。rlwrap と併せて使うと良い。
 -o, --output [DIR]  JavaScript出力ディレクトリ指定。
 --compile や --watch と併せて使う(下の例を参照)。
 -j, --join  コンパイル前に、全てのスクリプトを渡された順番通りに結合する。
 大きなプロジェクトで使うと便利。
 -w, --watch  ソースが更新されたらすぐに再コンパイル 
 -p, --print  ファイル出力の代わりに標準出力
 -l, --lint  JavaScriptをLintでチェック。jslコマンド(JavaScript Lint)が必要。 
 --watch と併せて使うと便利。
 -s, --stdio  標準入力からcoffeeスクリプトを読んで、
 標準出力にJavaScriptを渡す。 
 -e, --eval  コマンドラインで書かれた短いコードを実行 
 例:coffee -e "puts num for num in [10..1]"
 -r, --requiure  コンパイルや実行の前にライブラリを読み込む 
 -b, --bare  トップレベル関数safety wrapper無しでJavaScriptをコンパイル(?)。
 (function() {〜〜})(); でくくらないということかな。
 Node.jsモジュールとしてCoffeeScriptを使う場合に用いる。 
 -t, --tokens  CoffeeScriptをパースする代わりに、Lexで字句解析してトークンを出力。
 --nodejs  nodeコマンドには --debug や --max-stack-size のような便利なオプションがある。このフラグを使って Node.js にオプションを渡す。
 -v, --version  バージョンを表示 
 -h, --help  ヘルプ

例:
スクリプト実行
$ coffee hoge.coffee                   # hoge.coffeeをnode.jsで実行
$ coffee                               # REPLを起動。"coffee -i" と同じ。

コンパイル
$ coffee -c path/hoge.coffee           # hoge.coffeeをhoge.jsにコンパイル
$ coffee -o lib/ -c src/               # src/内のファイルをコンパイルしてlib/に出力

コードの変更監視
$ coffee -o js/  -w coffee/            # coffee/内のファイルが変更されたら再コンパイルしてjs/に出力
$ coffee -p -w coffee/                 # coffee/内のファイルが変更されたら再コンパイルして、
                                       # コンパイルエラーがあれば表示(jsファイルは出力しない)
$ coffee --watch --lint test.coffee    # test.coffee が変更されたらLintでチェック

結合
$ coffee --join project.js --compile src/*.coffee
                                       # src/*.coffeeを結合コンパイルして
                                       # 単一のjsファイル(project.js)に出力


ディレクトリを監視して、ファイルが更新されたら結合コンパイル(要inotify)

#!/bin/sh

COFFEE_DIR=coffee
OUTPUT_DIR=js

while inotifywait -q -e create,delete,modify,move $COFFEE_DIR
do
    clear
    coffee -o $OUTPUT_DIR --join -c $COFFEE_DIR/*.coffee
done


Comments