ScriptographerをCanvasで動かすフレームワークであるPaper.js。
通常であればDownloadからzipファイルをダウンロードして読み込めばそのまま使えるんだけど、githubにソースからビルドする方法が載っていたのでやってみた。
githubからPaper.jsをclone
git clone --recursive git://github.com/paperjs/paper.js.gitbuildフォルダに移動して、
./build.shでdistフォルダにpaper.jsができるんだけど、これだとzipファイルのものと同じなので、compressedしたい。
NodeJSのUgrifyJSを使う
npmでUglifyJSをインストール。カレントディレクトリはbuildのまま、作業を続ける。npm install -g uglify-jsnvmを使っているので、-gを付けてグローバルインストールすると、currentで使用しているバージョンのlibフォルダの中のnode_modulesというフォルダにインストールされる。
paper.jsプロジェクトのフォルダと同じ階層にuflifyjsという名前でシンボリックリンクを作成。
(githubに載っているサンプルはシンボリックリンクの引数が逆で、一つ目にソースを指定)
ln -s ~/.node/v0.4.9/lib/node_modules/uglify-js ../../uglifyjs
作成されているか確認
ls -l ../../ lrwxrwxr-x 1 hayashiyosuke staff 60 Sep 24 03:15 uglifyjs -> /Users/hayashiyosuke/.node/v0.4.9/lib/node_modules/uglify-jsできてる。
comressedオプションでビルド
./build_sh compressed確認
ls -l ../dist -rw-rw-r-- 1 hayashiyosuke staff 144000 Sep 24 03:22 paper.js
70KBほど軽くなってる。
開いてみると、余分なスペースが取り除かれ、変数名や関数名が短くなってる。
今後JavaScriptはかつてのCになると言われているけど、こんな感じでビルドして使うものになってるんだな。