exportsのプロパティに直接定義した関数を利用する方法

モジュール化(exports)を使い、プロパティに直接定義した関数を同じファイル内の関数から利用する方法です。

this.<exportsのプロパティ名>またはmodule.exports.<exportsのプロパティ名>で利用できます。

index.js
"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
putlogs.js
"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);
}
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

関連コンテンツ

スポンサードリンク

コメント

メールアドレスが公開されることはありません。