モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

nodeでrequireされるパッケージで値の返し方

nodeのjavascript*1では、PerlPHPのように「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