gist

2012年3月18日日曜日

[Node.js] Matador+CoffeeScriptの環境を構築する

「Twitter生まれの軽量なMVCフレームワーク「Matador」を試してみた」で紹介した「Matador」がCoffeeScriptに対応したようです。

早速、環境を構築してみます。

MatadorとCoffeeScriptをグローバルインストールします。

$ npm install -g matador
$ npm install -g coffee-script

Matadorでアプリケーションの雛形を作成します。

$ matador init matador_coffee_sample
installing Matador into matador_coffee_sample
Success!
$ cd matador_coffee_sample
$

次にMatadorをローカルインストールします。

現在(2012/03/18)のところ、npm でインストールされる Matador@1.0.11-beta では CoffeeScript が動作しません。Githubからダウンロードしてインストールします。

$ cd node_modules
$ rm -r matador
$ git clone https://github.com/rcs/matador.git
$ cd matador
$ npm install

最後にアプリケーションの雛形で作成された js ファイルを CoffeeScript に一括で変換します。一括変換は、アプリケーションのルートディレクトリ(server.jsがあるディレクトリと同じ階層)で実行します。

$ cd ../..
$ pwd
/Users/inouetomoyuki/Dropbox/Projects/node/matador_coffee_sample

$ npm install -g js2coffee
$ for f in `find . -type f -name '*.js' ! -path '*/node_modules/*'`; do js2coffee $f > ${f%.*}.coffee && rm $f; done

$ tree app
app
├── config
│   ├── development.coffee
│   ├── production.coffee
│   └── routes.coffee
├── controllers
│   ├── ApplicationController.coffee
│   └── HomeController.coffee
├── models
│   ├── ApplicationModel.coffee
│   └── BaseModel.coffee
├── public
│   └── css
│       ├── directory.css
│       └── main.css
└── views
    ├── 404.html
    ├── admin
    │   ├── index.html
    │   └── partials
    │       └── helloworld.html
    ├── directory.html
    ├── index.html
    ├── layout.html
    └── partials
        └── helloworld.html

for f in ...の一行で一括変換しています。

$ for f in `find . -type f -name '*.js' ! -path '*/node_modules/*'`; do js2coffee $f > ${f%.*}.coffee && rm $f; done

実行して見ます。

$ coffee server.coffee 
matador running on port 3000

無事表示されました。

Expressでは、実装が進むにつれMVCがごちゃごちゃになりがちでした。かといってTower.jsは大きすぎて迷子に。Matadorが今のところ丁度いいフレームワークかと思います。CoffeeScript対応で普及にはずみがつきそうですね。

0 件のコメント: