3. モジュール(Module)

モジュールとは

モジュール(Module) はプログラムファイルを交互に呼び出す仕組みです。モジュールファイルは自分で作成したり、JavaScript開発で第三者の外部モジュールを利用することで、機能拡張や効率化しやすくなります。

exports/require と export/import

外部モジュールは大きく、exports/requireexport/ import という方法でモジュールの書き出し・読み込みができます。ここではexports/requireで解説します。

exports/require

exports/require はCommonJSという規格の構文で、Node.jsがサポートしている記述方法です。

export/import

一方、export/importは ES2015 (ES6) の規格の構文の記述で、require構文に変換するコンパイル処理が必要になります。

exports

ファイル構成

module_test/
├── control.js
├── items.js
└── main.js

変数定義

exportはモジュールを書き出す側です。変数やメソッド(関数)などの定義ができます。

exports.変数 = 処理

「items.js」を作成して配列を定義します。

items.js
exports.items = [
  "Apple",
  "Orange",
  "Peach"
];

メソッド定義

exports.メソッド名 = function (変数) {
    return 処理
}

「control.js」を作成してアイテム表示処理のメソッド定義します。

control.js
exports.show = function(items) {
  items.forEach(item => console.log(item));
}

require

作成したモジュールを、 「require」で読み込み、変数として代入します。

モジュール変数 = require(ファイルパス)

「main.js」から「items.js」と「control.js」をrequireします。

main.js
const itemsModule = require("./items");
const controlModule = require("./control");

モジュールのメソッド実行

「main.js」で「control.js」モジュールのメソッドを実行します。このとき「items.js」モジュールのプロパティを引数とします。

controlModule.show(itemsModule.items);

node コマンドで実行

nodeコマンドで「main.js」を実行すると結果が表示されます。

node main.js
Apple
Orange
Peach