exportsのプロパティに直接定義した関数を利用する方法
モジュール化(exports
)を使い、プロパティに直接定義した関数を同じファイル内の関数から利用する方法です。
this.<exportsのプロパティ名>
またはmodule.exports.<exportsのプロパティ名>
で利用できます。
"use strict";
const { putLog, putLog2, putLog3, putLog4, putLog5 } = require('./putlogs.js');
putLog(1); // no is 1
putLog2(2); // no is 2
try {
putLog3();
} catch (e) {
console.log(e); // ReferenceError: putLog2 is not defined
}
putLog4(); // no is 4
putLog5(); // no is 5
"use strict";
function putLog(no) {
console.log(`no is ${no}`);
}
exports.putLog = putLog;
exports.putLog2 = (no) => {
putLog(no);
}
// これだとエラーになる.
exports.putLog3 = () => {
putLog2(3);
}
//
exports.putLog4 = () => {
this.putLog2(4);
}
exports.putLog5 = () => {
module.exports.putLog2(5);
}