ルーターを作成するには
exportsを使用します。
以下、ルータ作成例です。
function route(pathname) {
console.log('About to route a request for ' + pathname);
}
exports.route = route;
このソースをrouterというファイル名で保存します。
ルーターのメソッドを実行するには、exports.xxxと宣言したとすると、xxx.関数名です。
C:¥>node server.js
server start
call back
call back
ルーターが同じ場所にある場合は、以下のようにrequireします。
var router = require('./router');
先ほどのserver.jsでrouterを使用した例です。
var http = require('http');
var url = require('url');
var router = require('./router');
var server = http.createServer(function(req, res){
var pathname = url.parse(req.url).pathname;
var query = url.parse(req.url).query;
router.route(pathname);
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(pathname + '<br />');
res.write(query + '<br />');
res.end();
});
server.listen(8084,'127.0.0.1');
console.log('server start');
標準出力にはリクエストが表示されているのがわかります。faviconもリクエストされています。
C:¥>node server.js
server start
About to route a request for /aiu
About to route a request for /favicon.ico