経緯
かなり前、Node.jsを使っていろいろ作ってましたが、RailsとかFuelPHPとかのFrameworkの知識がついた今、Expressをもうちょっとちゃんと理解できるような気がしたので、勉強してみた。
JavaScriptはいろいろおもしろいことができるので、好きなんですが、ただ唯一嫌いなのは、JavaScriptであることです。なので、CoffeeScriptで書いてやろうと思いました。
ただ、調べても出てくるやり方はexpressやらなんやらをグローバルにインストールするやり方で嫌だったので、ローカルにインストールするやり方を考えました。
やり方
mkdir express-test # 開発ディレクトリを作成
cd express-test
npm install express-generator coffee-script js2coffee
node_modules/express-generator/bin/express app # appはアプリケーションディレクトリ
find app -type f -name "*.js" | while read f; do node_modules/js2coffee/bin/js2coffee "$f" > "${f%.*}.coffee"; done
find app -type f -name "*.js" | xargs rm -f
cd app
npm install
app/bin/wwwの先頭に以下のコードを追記します。
// 先頭にこれを追記
require('coffee-script/register');
以下のコマンドを実行するとサーバーが起動してlocalhost:3000でアクセスできます。
bin/www
以下の部分をroutesの中と合致するように記述すると、ルーティングを作成できます。
イメージとしてRailsのroutes.rbとcontrollerを合わせたような感じかな?
routes = require('./routes/index')
users = require('./routes/users')
# 中略
app.use '/', routes
app.use '/users', users
まとめ
問題は何を作るか。
コメントを残す