前回からRailsからNode.jsに移行してきました。
何故かはNode.jsか?何故APIか?は前の記事を読んでください。
Node.js0.6 以降でもHerokuで動かす方法を実施しています。これは海外のサイトを頑張って調べたので、結構有益かも?やり方はHerokuプッシュの部分を見てください。
目標
- Node.js を Coffee-Scriptで動かす
- express-resource でAPIを作成
- Herokuにアップ
環境
- Node.js インストール済み
node -v
v0.6.5
- npm インストール済み
npm -v
1.1.0-alpha-6
- gem インストール済み
gem -v
1.8.24
- git インストール済み
git --version
git version 1.7.4.1
coffee-script のインストール
いきなりきたぜ・・。ちょっと調べるとこれでいけるらしい$ sudo npm install -g coffee-script
/usr/bin/env: node: そのようなファイルやディレクトリはありません
$ /usr/sbin/visudoDefaults !env_reset
と! をつけてデフォルトでenv_resetが行われないようにする$ coffee -v
CoffeeScript version 1.4.0
ほんとにこれで出来ちゃったので次いこう。
Express と Express Resource の環境構築
$ cd {開発ディレクトリ}
$ express api
$ cd api/
$ vim package.json"dependencies": {
"express": "3.0.0rc4",
"express-resource": "latest",
"jade": "*"
}
$ npm install# APIだからいらないよね!
$ rm -rf public
$ rm -rf views
$ rm -rf routesとりあえずサンプルコピペ
https://github.com/visionmedia/express-resource/tree/master/examples
CoffeeScript 環境へ
別ターミナルで
$ coffee -w -b -o . -c src/しつつ、サンプルのJavaScriptをCoffeeScriptに変換。
$ js2coffee controllers/main.js > src/controllers/main.coffee
こんな感じで。
new ってのがキーワードでエラーでたので、そこはいったん他の名前に置き換えて
変換後、元に戻した。ファイル作った場合はcoffeeコマンドを再度実行しないといけないっぽい。
これ以降はsrcにあるcoffeeファイルを編集して開発を進めていく。
Herokuに上げる
ここまでできたらとりあえず公開してしまおうか。
http://node-api-kimi.herokuapp.com/
$ vim Procfile
web: node controllers.js
$ vim package.json
追加
"engines": {
"node": ">=0.4.7 <0.7.0",
"npm": ">=1.0.0"
}
$ npm install
$ vim src/controllers.coffee
修正
app.listen process.env.PORT || 3000
※もちろんcontrollers.jsも変更されていることを確認してね!$ gem install heroku
$ heroku create kimi-node-api-hoge --stack cedar --buildpack http://github.com/heroku/heroku-buildpack-nodejs.git
$ git init
$ git add .
$ git commit -a -m "first commit"
$ git remote add heroku git@heroku.com:node-api-hoge.git
$ git push heroku master
http://node-api-kimi.herokuapp.com/forums
http://node-api-kimi.herokuapp.com/forums/new
こんな感じでRESTできてればOK!