nodeのjavascript*1では、PerlやPHPのように「require」が使えます。
その時にどうやって値を返せば良いのかわからなかったのでちょっと調べました。
例えば「config.js」というファイルがあったとき、それを呼び出してオブジェクトを返して貰う場合、下記のような書き方をして、値を利用したりします。
拡張子の「.js」は省略して良いです。また通常は「./」にパスが通ってないため「./config」のようにパスまで入れて指定する必要があるようです。
var conf = require('./config'); var port = conf.port;
その時、呼び出されるほうの「config.js」の中身はこんな感じ。
config.js
exports.port = 1234; exports.func = function() { ... }
つまり、呼び出し元に返したい値に「exports.」を付けてやれば、その返り値の中身になってくれるわけです。
すんごい簡単。超便利。
*1:というかnodeが使っているjavascriptエンジンのV8が準拠してるECMAScript