SConsでJavascriptを組み立てる
JavaScriptでも一定以上の規模のプログラムは、
機能ごとにファイルを分けたほうがいいと思います。
jQueryでもそうですし。
そんなわけで「分割したファイルをひとつにする方法」を簡単にメモしておきます。
Python が好きなので make じゃなくて SCons を使います。
Python の機能を使って色々できるところが make より嬉しいです。
事前準備
簡単なSConsの使い方
プロジェクトのフォルダに SConstruct という名前のファイルを作成して
どういう処理をするか書いていきます。
Command('target.js', ['source1.js', 'source2.js'], 'cat $SOURCES > $TARGET')
と書いて
cd path/to/project/folder
scons
ってやると source1.js と source2.js をくっつけた target.js が作られます。
二回目以降は source1.js か source2.js が変更された時だけ実行されます。
cat とかのコマンドがわからない人は調べてください。
応用
スクリプト全体を匿名関数で囲いたい場合
Command('target.js', ['source1.js', 'source'], [ 'echo "(function(){" > $TARGET', 'cat $SOURCES >> $TARGET', 'echo "})();" >> $TARGET' ])
echo で前後に書き加えているだけです。
Closure Compilerを使いたい場合
Command('target.js', 'source.js', 'java -jar compiler.jar --js $SOURCE --js_output_file $TARGET')
compiler.jarを事前に用意しておく必要があります。
複数のファイルをコンパイルするときはちょっと工夫する必要があります。
まとめ
ファイル分割すると見通しがよくなるし、なにかと便利です。
単体テストもやりやすくなります、たぶん。
はやりの CoffeeScript のコンパイルにも使えるはずです。