Spine.jsを試す

Spine.jsを試す

JavaScriptMVCフレームワーク、Spine.jsを試してみる。

Spine.jsの使い方

Spineを使う方法は、公式のチュートリアルによると3通りあるらしい。

  1. ダウンロードしたspine.jsをHTMLにインクルードする方法
  2. Rails + spine-rails gemを使う方法
  3. Node.js + CoffeeScript + Hemを使う方法

今回は3番目のNode.jsを使う方法でやってみた。2番目のRails使う方法も今度やってみたい。

Spine.jsを使う準備

まず、npmでspine.appとhemをインストール。

$ npm install -g spine.app hem

一応インストールは出来たけどnodeのバージョンが合わずにwarningが

npm WARN engine stylus@0.22.6: wanted: {"node":"> 0.4.x < 0.7.0"} (current: {"node":"v0.8.14","npm":"1.1.65"})

nvmでnodeのバージョンを下げる。0.4.x < 0.7.0を満たすバージョンが必要とのことなのでls-remoteして確認。
v0.6.21を入れることにする。

$ nvm ls-remote
v0.1.14	v0.1.29	v0.1.100	v0.3.3	v0.4.9	v0.6.0	v0.6.15	v0.7.8	v0.8.10
v0.1.15	v0.1.30	v0.1.101	v0.3.4	v0.4.10	v0.6.1	v0.6.16	v0.7.9	v0.8.11
v0.1.16	v0.1.31	v0.1.102	v0.3.5	v0.4.11	v0.6.2	v0.6.17	v0.7.10	v0.8.12
v0.1.17	v0.1.32	v0.1.103	v0.3.6	v0.4.12	v0.6.3	v0.6.18	v0.7.11	v0.8.13
v0.1.18	v0.1.33	v0.1.104	v0.3.7	v0.5.0	v0.6.4	v0.6.19	v0.7.12	v0.8.14
v0.1.19	v0.1.90	v0.2.0	v0.3.8	v0.5.1	v0.6.5	v0.6.20	v0.8.0	v0.9.0
v0.1.20	v0.1.91	v0.2.1	v0.4.0	v0.5.2	v0.6.6	v0.6.21	v0.8.1	v0.9.1
v0.1.21	v0.1.92	v0.2.2	v0.4.1	v0.5.3	v0.6.7	v0.7.0	v0.8.2	v0.9.2
v0.1.22	v0.1.93	v0.2.3	v0.4.2	v0.5.4	v0.6.8	v0.7.1	v0.8.3	v0.9.3
v0.1.23	v0.1.94	v0.2.4	v0.4.3	v0.5.5	v0.6.9	v0.7.2	v0.8.4
v0.1.24	v0.1.95	v0.2.5	v0.4.4	v0.5.6	v0.6.10	v0.7.3	v0.8.5
v0.1.25	v0.1.96	v0.2.6	v0.4.5	v0.5.7	v0.6.11	v0.7.4	v0.8.6
v0.1.26	v0.1.97	v0.3.0	v0.4.6	v0.5.8	v0.6.12	v0.7.5	v0.8.7
v0.1.27	v0.1.98	v0.3.1	v0.4.7	v0.5.9	v0.6.13	v0.7.6	v0.8.8
v0.1.28	v0.1.99	v0.3.2	v0.4.8	v0.5.10	v0.6.14	v0.7.7	v0.8.9

nvmでインストール。

$ nvm install v0.6.21

バージョンを確認。

$ node -v
v0.6.21-pre

npmのモジュールは、nodeのバージョンごとにインストールされるので、もう一度Spine.appとhemをインストールする。

$ npm install -g spine.app hem

今度は問題なし。

動かす

取りあえずブラウザでサンプルを表示させるところまでやってみる。
まず、雛形作成。expressとかrailsと同じ感じだなー。

$ spine app my-app            
	create	 my-app/.npmignore
	create	 my-app/app
	create	 my-app/app/controllers
	create	 my-app/app/controllers/.gitkeep
	create	 my-app/app/index.coffee
	create	 my-app/app/lib
	create	 my-app/app/lib/setup.coffee
	create	 my-app/app/models
	create	 my-app/app/models/.gitkeep
	create	 my-app/app/views
	create	 my-app/app/views/.gitkeep
	create	 my-app/css
	create	 my-app/css/index.styl
	create	 my-app/css/mixin.styl
	create	 my-app/package.json
	create	 my-app/Procfile
	create	 my-app/public
	create	 my-app/public/favicon.ico
	create	 my-app/public/index.html
	create	 my-app/slug.json
	create	 my-app/test
	create	 my-app/test/public
	create	 my-app/test/public/index.html
	create	 my-app/test/public/lib
	create	 my-app/test/public/lib/jasmine.css
	create	 my-app/test/public/lib/jasmine.html.js
	create	 my-app/test/public/lib/jasmine.js
	create	 my-app/test/specs
	create	 my-app/test/specs/.gitkeep

コマンドを実行するとmy-appというディレクトリが出来るので、そのディレクトリに移動して他に必要なモジュールをインストールする。
必要なモジュールはpackage.json書かれてるので、↓のコマンドを実行すれば良い。

$ npm install .

次にhemのサーバ機能を使ってアプリケーションを動かす。hemはSpine用の依存管理マネージャで、アプリに含まれるJavaScriptの依存を解決してくれる。

$ hem server

http://localhost:9294にアクセス。Welcome画面が出ればOK
f:id:horie1024:20121109012051p:plain