Node.jsでカスタムモジュールを作成する方法を徹底解説
Node.jsのモジュールとは、特定の関数やメソッドをまとめたパッケージのことで、それらをインポート(require)するコードから利用できるようにしたものです。開発現場では、fs、fs-extra、crypto、streamなど、あらかじめ用意されたモジュールが広く使われています。しかし、Node.jsの魅力は既存モジュールを使うだけにとどまりません。自分独自のパッケージ(カスタムモジュール)を作成し、プロジェクト内で自由に再利用することも可能です。
カスタムモジュールの基本構文
カスタムモジュールを作成するには、exportsオブジェクトに関数を登録します。基本的な構文は以下のとおりです。
exports.function_name = function(arg1, arg2, ....argN) {
// ここに関数の処理内容を記述します
};実例:簡単な計算機モジュールを作ってみよう
ここでは、四則演算を行うカスタムモジュールを例に解説します。calc.jsとindex.jsという2つのファイルを作成し、それぞれ以下のコードをコピーしてください。
- calc.js:各種計算関数を持つカスタムモジュール本体です。
- index.js:calc.jsをインポートして、Node.jsのプロセス内で実際に利用するファイルです。
calc.js(モジュール側のコード)
// カスタムノードモジュールの作成
// 複数の関数を定義してエクスポートします
exports.add = function (a, b) {
return a + b; // 数値を加算
};
exports.sub = function (a, b) {
return a - b; // 数値を減算
};
exports.mul = function (a, b) {
return a * b; // 数値を乗算
};
exports.div = function (a, b) {
return a / b; // 数値を除算
};index.js(モジュールを利用する側のコード)
// 以下のステートメントでカスタムモジュールを読み込みます
var calculator = require('./calc');
var a = 21, b = 67;
console.log(a + " と " + b + " の加算結果は " + calculator.add(a, b) + " です");
console.log(a + " と " + b + " の減算結果は " + calculator.sub(a, b) + " です");
console.log(a + " と " + b + " の乗算結果は " + calculator.mul(a, b) + " です");
console.log(a + " と " + b + " の除算結果は " + calculator.div(a, b) + " です");実行方法と出力結果
ターミナル(コマンドプロンプト)で以下のコマンドを実行すると、カスタムモジュールが正しく動作していることを確認できます。
C:\home\node>> node index.js Addition of 21 and 67 is 88 Subtraction of 21 and 67 is -46 Multiplication of 21 and 67 is 1407 Division of 21 and 67 is 0.31343283582089554
ポイントまとめ
exports.関数名 = function() {...}の形式で、モジュール外部に公開したい関数を登録できます。require('./calc')のように相対パスで指定することで、自作モジュールを読み込めます。拡張子「.js」は省略可能です。- 読み込んだモジュールはオブジェクトとして扱えるため、
calculator.add()のような形で各関数を呼び出せます。
この仕組みを活用すれば、共通処理を別ファイルに切り出してコードの保守性や再利用性を高めることができます。ぜひ自分のプロジェクトでもカスタムモジュールの作成に挑戦してみてください。
-
JavaScriptでカスタムエラーを作成する方法【サンプルコード付き】
JavaScriptでは、組み込みのErrorクラスを継承することで、アプリケーション固有のカスタムエラーを簡単に定義できます。カスタムエラーを活用すると、エラーの種類や原因を明確に区別でき、デバッグやエラーハンドリングの精度が大きく向上します。 カスタムエラーの基本 カスタムエラーを作成するには、ES6のclass構文でErrorクラスをextendsし、コンストラクタ内でsuper()を呼び出してエラーメッセージを親クラスに受け渡します。さらに、this.nameに独自のエラー名を設定することで、標準のErrorオブジェクトと明確に区別できるようになります。 実装例 以下は、JavaS
-
JavaScriptモジュール入門:ES2015のexportとimportを使いこなそう
JavaScriptモジュールとは モジュールはES 2015(ES6)で導入された機能です。大規模化しがちなコードを、再利用しやすい小さな単位に分割することを目的としています。モジュールにはクラスや関数などを格納でき、exportキーワードで変数・関数・オブジェクトを外部に公開し、別のファイルからimportキーワードで読み込んで使用します。 注意:この記事のサンプルを実行するには、ローカルホストサーバーが必要です。HTMLファイルを直接開いた場合、CORSポリシーによりモジュールの読み込みがブロックされることがあります。 モジュールのメリット コードの分割により保守性が向上する 関数やク