Node.jsでモジュール(module)を作成する方法【初心者向け】
初心者向けにNode.jsでモジュールを作成する方法について解説しています。実際にモジュール(module)を作成するプログラムを書いています。大きな開発プロジェクトになればなるほど作業も複雑になるので、モジュールをあらかじめ作って効率化を図りましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Node.jsのモジュールを作成する方法を解説します。
実際に簡単なモジュールを作るプログラムを書いているので、ぜひ参考にしてみてください。
なお本記事は、TechAcademyのNode.jsオンライン講座の内容をもとに作成しています。
今回は、自作のモジュールに挑戦してみようか。
田島メンター!モジュールってnpmでインストールして使ったものでしたよね。自分で作る場合はどうしたらいいんですか~?
まずモジュール用のファイルを作成して、そこに内容を書いていこう。次に呼び出し側のファイルでモジュールを読み込んで使ってみるよ。
node moduleとは
node moduleとは、Node.jsでnpmコマンドを使用してインストールすることで利用できる便利な機能が実装済みのモジュールです。
自前で作って使うこともできるので、より効率的な開発を行うことができます。
npmのインストール方法についても合わせてチェックしてみてください。
モジュールの作り方
モジュール作成の基本
モジュール側(module.js)ソースコード
exports.メソッド名 = function (変数) { return 処理 };
解説
Node.jsでモジュールを作成する場合はexports関数を使用します。
1行目ではexports.メソッド名のように指定して、experts.メソッド名を使用して呼び出された場合の処理を代入しています。
具体的に行う処理は、2行目から4行目までのfunction (変数) { return 処理 };になります。
呼び出し側(app.js)のソースコード
var sample = require('./module.js');
console.log( sample.メソッド名(引数));
解説
1行目のrequire(‘./module.js’);では、先ほど作成したmodule.jsというモジュールをrequireを使用して呼び出しています。
その後、var sampleで宣言した変数sampleに代入しています。
2行目のsample.メソッド名(引数)では、sampleに代入してあるmoduleのメソッド名に引数を与えて結果を、console.logで表示しています。
JavaScriptでMathオブジェクトを使う方法の記事を参考にしてみてください。
モジュール側と呼び出し側、それぞれの基本形だね。
作成したモジュールをrequireで呼び出すのは、インストールしたものを使うときと同じですね。
次に実際の例で確かめてみよう。ここでは引数を3倍にするモジュール”module.js”を作成して、それを”app.js”で呼び出す形になるよ。
モジュールを実際に作ってみよう
引数を3倍にするモジュール
モジュール側(module.js)のソースコード
exports.sanbai = function (num) { return num * 3; };
解説
module.jsではexportsを使用して、sanbaiというメソッド名で引数のnumを3倍にして返しています。
呼び出し側(app.js)のソースコード
var sample = require('./module.js');
console.log( sample.sanbai(3) );
表示結果
9
解説
app.jsでは、1行目でmodule.jsを呼び出してsampleに代入します。
2行目のsample.sanbai(3)では、引数に3を与えることで、3倍になった結果をconsole.logで表示しています。
表示結果は9です。
今回は、Node.jsのモジュールを作成する方法を解説しました。
実際にモジュールを作成する手順を知っておきましょう。
この状態で”app.js”を実行してみよう。どうなるかな?
モジュールで設定していた3倍の計算が反映されて、結果の数値が表示されましたね。
実行の際にエラーが出る場合は、呼び出し側で指定したパスなどに間違いがないか確認してみよう。
分かりました!ありがとうございます!
また、オンラインのプログラミングスクールTechAcademyでは、Node.jsオンライン講座を開催しています。
Node.jsを使ってWebアプリケーションを開発することができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。 その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。 |