Node.jsでモジュールの作り方

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

処理を別モジュールに分離したいとき、node.jsが用意するModuleの仕組みを使うと便利です。


例えば、分離したい処理を記述するファイルをhoge.js
呼び出し元の処理を記述するファイルをpiyo.jsとすると

hoge.js

exports.foo = function() {
    console.log('called foo.');
}

exports.bar = function() {
    console.log('called bar.');
}

piyo.js

var hoge = require('./hoge');

hoge.foo();
// > called foo.

hoge.bar();
// > called bar.

このように、メインの処理piyo.jsからモジュールhoge.jsを呼び出して使用することができます。
モジュール側(hoge.js)では、node.jsであらかじめ用意されている”exports”オブジェクトに
追加したい処理や変数をプロパティとして追加して行く事で、
モジュールの作成を行って行きます。
メインの処理側(piyo.js)では、require(‘モジュールのパス’)とすることでモジュールの呼び出しを行います。
(“.js”は省略できます。)
ここで注意したいのが、モジュールのパスを指定する場合、同一フォルダ内であっても’./hoge.js’のように、
相対パスできっちり指定してあげてください。
ファイル名だけで指定すると、”sys”や”util”などのCore Modulesとして認識されてしまい、読み込まれません。
requireを実行すると指定したファイルに記述されているexportsオブジェクトを返します。
この例だと、変数hogeに”hoge.js”で記述したexportsオブジェクトが格納され、
hoge.foo(), hoge.bar()とすることで、別モジュールのメソッドを実行する事が出来ます。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る