【Node.js】モジュールの作成方法
はじめに
本記事の目的
Node.jsでWEB-APIサーバを立ち上げたが、一部の処理を別のモジュールとして切り出したい場合がある。自分でモジュールを定義して、処理を呼び出す方法をメモ。
前提
- Node.jsとnpm(Node.jsのパッケージマネージャ)がインストールされていること。
- Node.js + Expessを利用してHTTPサーバを立ち上げていること。
前回の記事 tomiko0404.hatenablog.com
module.exportsを利用してモジュール作成
モジュール作成
モジュール用のファイルを作成する。
app.js
の配下にlib
フォルダを作成し、その配下にmydouble.js
を作成する。
lib/mydouble.js
module.exports = (num) =>{ return (num * 2); }
module.exports
module.exports
に関数を代入することで、モジュールとしてエクスポートできる。
モジュールの呼び出し
app.jsに以下のように記載する。
requireした関数をmydouble
に代入して、mydouble(10)
で呼び出している。
app.js
const express = require("express"); const portNumber = 8000; const app = express(); // ★mydoubleモジュールをrequireする const mydouble = require("./lib/mydouble.js"); // ★mydoubleを呼び出す app.get("/", (req, res) => { res.status(200).send("My number is " + mydouble(10) + "."); }); app.listen(portNumber); console.log(`PortNumber is ${portNumber}`);
結果確認
10×2の20が返却されていることが確認できた。
exportsを利用する場合
exports
を使用して、各プロパティを定義することもできる。
lib/mycalc.js
exports.myadd = (num) => { return num + 100; }; exports.mysubtract = (num) => { return num - 100; }; exports.numbers = { a: 1, b: 200, c: 10000, };
app.jsでの利用方法
以下のように利用した。
app.js
// ★mycalcモジュールをrequireする const mycalc = require("./lib/mycalc.js"); // ★mycalc.[プロパティ名]で呼び出す app.get("/", (req, res) => { let data = `mycalc.myadd(10):${mycalc.myadd(10)} `; data = data + `mycalc.mysubtract(300):${mycalc.mysubtract(300)} `; data = data + `mycalc.numbers.a: ${mycalc.numbers.a}`; res.status(200).send(data); });
参考資料
Node.js 用モジュールの作り方(require でロード可能な Node モジュールを作成する) | まくまくNode.jsノート
exports と module.exports の違い - Qiita
おわりに
Node.jsで自分で定義したモジュールを呼び出す方法がわかった。