読者です 読者をやめる 読者になる 読者になる

exportsとmodule.exportsの違い

node.js

exportsにはそれ自体に代入できない。module.exportsはできる。ってのであってるのかな。ドキュメントにはソース読めって書いてあるけど読んでもよくわからんかった。

// hoge.js
exports = function() { console.log('hoge') };
var hoge = require('hoge');
console.log(hoge); // {}

exportsの場合はこうなる。exports自体に何か(functinoじゃなくても文字列でもなんでも)代入しても無視される。exports.hogeとかにしないとダメ。

module.exportsはできる。

// hoge.js
module.exports = function() { console.log('hoge') };
var hoge = require('hoge');
console.log(hoge); // [Function]

ということらしい。