expressアプリを作っていくと、そのうち構造が地獄めいてきます。
そうなると、どこ弄っているか分からなくなる事、結構ありますよね。
あるいは、単純なルートのタイポでエラー吐いて、解析に30分かかったりとか。
こういう時は、app.route(path)でパスの関係を見やすくする事ができます。
実際のところ
前回の記事では/user/:id/:pageの挙動がバラバラでした。
routeを使うと、一つのネストにまとめこむ事ができます。
var express = require('express'); var app = express(); app.use('/data', express.static('data')); app.set('view engine', 'jade'); // 中略 app.route('/user/:id/:page') .get(function (req, res, next) { console.log('req.path ', req.path); //(4) next(); }) .get(function (req, res) { console.log('Coming the render section.'); //(5) var responseText = 'Your page name: ' + req.params.page + " !"; res.render('index', { title: 'Our Apps!', message: responseText}); res.end(); }); app.listen(3000, function () { console.log('Example app listening on port 3000!'); });
大分可視性が上がりましたね。
これの使用はコーディング規約にしておいた方が良さそうです。