module.exports
1つだけをエクスポートするモジュールがある場合などは module.exports を使用するのが一般的。
ファイルを読み込む際に「 require('./module') 」の「 ./ 」をつけず、ファイル名だけを指定するとパッケージを読み込みます。「 module 」というパッケージがない場合は、エラーになります。
セットされている内容が関数の場合は以下のようにします。
moudle.js
module.exports = function(str){
console.log(str);
console.log("module function");
}
script.js
const md = require('./module');
md("hello");
セットされている値がオブジェクトの場合は以下のようにします。
module.js
module.exports = {
name: 'apple',
price: 100
}
script.js
const md = require('./module');
console.log(md);
プロパティ名を指定する場合は以下のようにします。
プロパティ名は任意で指定することができます。
module.js
module.exports.func = function(str){
console.log(str);
console.log("module function");
}
script.js
const md = require('./module');
md.func("hello");
exports
初期状態では exports は module.exports を参照するショートカットのようなもの。
moudle.js
exports.func = function() {
console.log('hello, world');
};
script.js
const md = require('./module');
console.log(md);
console.log(md.str);
md.func();
// 実行結果
{ func: [Function (anonymous)], str: 'HELLO, WORLD' }
HELLO, WORLD
hello, world