Enderの使い方のまとめ 〜必要なライブラリを必要な分だけ〜
Published at 2012-12-27
Enderはnode.jsで動くJavaScriptのパッケージビルド管理システム。 JavaScriptのライブラリは非常にたくさんあって、その中から複数選んで使いたいケースはたくさん有る。まとめて使うときに欲しいものをダウンロードして、使いたいライブラリが増えたらまたビルドして…というのはとても面倒な作業。Enderはこういった問題を解決してくれる。
Ender.jsの薦め
jQueryはとても良く出来たライブラリだけど、闇雲にjQueryを使うのはベストとは言えず、必要な機能を必要な分だけ用意するという作業が求められるようになってきた。jQuery互換のAPIで軽さを求めたZeptoを始め、最近ではBackbone.jsやUnderscore.jsといった様々なライブラリがある。
ライブラリを選定して使う際に、結合と最小化などを行うが、例えば後々ライブラリを追加したりするときに面倒だったりする。Enderはこうしたライブラリ達の依存関係の解決や結合と最小化をやってくれる。手でいちいちやるより楽だし、安全である。
具体的な導入方法
ender-js/Enderを見てもらえるとわかるが、コマンドラインからの操作。
enderのインストール
$ npm install -g ender
これでインストール完了。試しにenderと入力し、実行出来るかどうかテスト。
buildしてみる
Backboneをビルドしてみる。
$ ender build backbone
# ender.js successfully built!
# ender.min.js successfully built!
このパッケージに何のライブラリが含まれているかを確認する。
$ ender info
# Active packages:
# └─┬ [email protected] - ...
# └── [email protected] - ...
ここで注目したいのが、依存しているUnderscoreも一緒に含まれていること。あくまでBackboneと一括管理になるので、削除も出来ない。もちろん、追加しようとしても既にあると言われる。
パッケージにライブラリを追加する場合はadd、削除する場合はremove。試しにZeptoを追加してみる。
$ ender remove underscore
# Nothing to uninstall.
$ ender add underscore
# Specified packages already installed.
$ ender add zepto
$ ender info
# Active packages:
# ├── [email protected] - ...
# └─┬ [email protected] - ...
# └── [email protected] - ...
Zeptoもカスタムビルド出来るが、ここでインストールされるのはデフォルトパッケージ(polyfill zepto event detect fx ajax form touch)ぽい。Backboneはver0.9.2がダウンロードされたが、0.9.9もインストール出来るのか確認。
$ ender add [email protected]
# @の後にバージョン番号を付けることで指定出来る
$ ender info
# ├── [email protected] - ...
# └─┬ [email protected] - ...
# └── [email protected] - ...
ちゃんと出来た。生成されるender.jsファイルにも0.9.9
で新しく追加されたlistenTo()
やstopListening()
があったので問題なさそう。今回は最近流行の3点セットでビルドしてみたけど、Enderが公式で紹介しているスターターパッケージの4点セットも紹介。
the jeesh
- » domReady - a cross-browser domReady
- » Qwery - a fast light-weight selector engine
- » Bonzo - a bullet-proof DOM utility
- » Bean - a multi-platform event manager
その他のパッケージ。