test code
var express = require('express');
var express2 = require('express');
express.a = '1st express instance';
console.log('express.a=' + express.a);
console.log('express2.a=' + express2.a); // 上と同じ結果となり、requireの戻り値はシングルトンであることがわかる
// app instance test
var app = express();
app.a = '1st app instance';
var app2 = express();
console.log('app.a=' + app.a);
console.log('app2.a=' + app2.a); // undefined になるので new をつけなくても別インスタンスになる
// router instance test
var router = express.Router();
router.a = '1st router instance';
var router2 = express.Router();
console.log('router.a=' + router.a);
console.log('router2.a=' + router2.a); // undefined になるので やはり別インスタンスになる