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技術ブログへ

スポンサードリンク

関連コンテンツ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です