ScriptographerをCanvasで動かすフレームワークであるPaper.js。
通常であればDownloadからzipファイルをダウンロードして読み込めばそのまま使えるんだけど、githubにソースからビルドする方法が載っていたのでやってみた。
githubからPaper.jsをclone
git clone --recursive git://github.com/paperjs/paper.js.git
buildフォルダに移動して、
./build.sh
でdistフォルダにpaper.jsができるんだけど、これだとzipファイルのものと同じなので、compressedしたい。
NodeJSのUgrifyJSを使う
npmで
UglifyJSをインストール。カレントディレクトリはbuildのまま、作業を続ける。
npm install -g uglify-js
nvmを使っているので、-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になると言われているけど、こんな感じでビルドして使うものになってるんだな。