requireは、キャッシュされていれば、キャッシュを返して、キャッシュされていなければ、ロードします。
キャッシュを削除してから、requireを実行すれば、再度ロードされます。
require.cacheに指定する値は、ファイル名。requireで指定した値ではない。
main.js
var sys = require('sys');
function sleep(time, callback) {
setTimeout(callback, time);
}
function p() {
delete require.cache[__dirname + '/config.js']
var config = require(__dirname + '/config');
sys.print(config.PORT + '\n');
sleep(3000, p);
}
sleep(3000, p);
config.js
var config = {
"PORT": 3302
}
module.exports = config;