expressのルーティング
express2.5からexpressコマンドでプロジェクトつくると./routesってディレクトリにルーティングが書かれるようになってる。規模が大きくなるほど煩雑になるので、ルーティングのファイルは分けたほうがいいと思うけど、これでも個人的にはやや微妙。
var express = require('express') , routes = require('./routes') ... app.get('/', routes.index);
こんな感じになってるわけだけど、これだとルーティングが増えてコントローラーのファイルをわけたいときに、毎回requireも書かないといけない。つまり
var express = require('express') , routesIndex = require('./routes/index') , routesEntry = require('./routes/entry') , routesAbout = require('./routes/about') , routesHoge = require('./routes/hoge') , routesFuga = require('./routes/fuga'); ... app.get('/', routesIndex.index); app.get('/entry', routesEntry.index); app.post('/entry', routesEntry.create); app.get('/about', routesAbout.index); app.get('/hoge', routesHoge.index); app.get('/fuga', routesFuga.index); app.post('/fuga', routesFuga.create); app.put('/fuga', routesFuga.update); app.del('/fuga', routesFuga.del);
ルーティングの一覧は見やすくて、app.jsに全部書くよりはだいぶいいと思うけど、なんか二度手間だしもうちょい楽したい。
こんな感じがいいのだろうか。expressっぽくないけど。
https://gist.github.com/1354601
もしくはfs.readdirとかでコントローラーのファイル探してrequireするとかでもいいかな。悩み中