モジュールの読み込み
Node.jsにはモジュールを読み込むための関数 require() が用意されています。
require()は引数指定されたモジュールを読み込み、そのモジュールに含まれるメソッドやクラスを格納したオブジェクトを返します。このオブジェクトを通じてモジュール内のコンテンツにアクセスできるようになります。
httpモジュールを利用するには、次のようにrequireの引数に指定し、モジュールと同名のローカル変数に代入します。
var http = require('http');
読み込んだモジュール内の関数は.演算子で呼び出せます。
var server = http.createServer();
シンプルなモジュールの作成
シンプルなモジュールを作成し、呼び出すサンプルです。
モジュールmod.jsと、それを呼び出すmain.jsを作成し、それぞれに下記の内容を記述します。
mod.js:
exports.printBoo = function(){
return "Hello!";
}
上記ではexportsにprintBoo()メソッドを追加し、エクスポートしています。
こうすることで別ファイルから該当メソッドを呼び出すことができます。
main.js:
var mod = require('./mod.js');
console.log( mod.printBoo() );
mod.jsモジュールを読み込み、先ほどエクスポートしたprintBoo()メソッドを実行し、それをコンソールに出力しています。
下記を実行すると、コンソールに Hello!と出力されます。
node main.js
コアモジュール
node.jsに標準で組み込まれているモジュールはコアモジュールと呼ばれます。
require('モジュール名')
コアモジュール一覧
| モジュール名 | 機能 | 安定度 |
|---|---|---|
| assert | アサーション | 5 |
| buffer | バイト列の格納・操作 | 3 |
| child_process | 子プロセスの生成・管理 | 3 |
| cluster | 複数のプロセスを使った負荷分散 | 1 |
| console | コンソールへのメッセージ出力 | 4 |
| crypto | 暗号化/ハッシュ | 2 |
| dgram | UDPを扱うソケット関連の処理 | 3 |
| dns | DNS関連の処理 | 3 |
| domain | 複数のIO処理間の連携 | 1 |
| events | イベント処理を実装するための基底クラス | 4 |
| fs | ファイルおよびファイルシステムの操作 | 3 |
| http | HTTPサーバー/クライアント | 3 |
| https | HTTPSサーバー/クライアント | 3 |
| net | ソケットの操作 | 3 |
| os | OS情報の取得 | 4 |
| path | パス文字列の処理 | 3 |
| punycode | Punycode文字列のエンコード/デコード | 2 |
| querystring | クエリ文字列の処理 | 3 |
| readline | 標準入出力を使用した対話的インターフェイス | 2 |
| repl | REPL | (なし) |
| stream | ストリーム入出力処理の基底クラス | 2 |
| string_decoder | バイナリ列から文字列へのデコード | 3 |
| tls | OpenSSLを使ったTLS/SSL通信 | 3 |
| tty | TTYの情報取得 | 2 |
| url | URL文字列のパース・フォーマット | 3 |
| util | 各種ユーティリティ | 5 |
| vm | JavaScriptの実行エンジン | 2 |
| zlib | zlibを使ったデータの圧縮・展開 | 3 |