Node.js API - 標準モジュール
Node.js を使うと PC 上で JavaScript を実行できるようになります。
ただ、 JavaScript はもともとクライアントサイドの言語のため、
ファイルを直接操作するなどの API はありません。
そこで Node.js はプログラムとして動作させるために必要な各種 API をモジュールとして用意しています。
その標準モジュールに関する記事を書いてみました。
標準モジュールと API
Node.js の API を提供するモジュールは Node.js とともに標準でインストールされています。 それらの多くも使用する場合には require によるロードは必要ですが、 npm でのインストールを行うことなく、そのまま使うことができます。 ちょうど C, C++ の標準ライブラリーのような感じです。 ただ、 Node.js はサーバーサイドのアプリケーションを主な対象としているため、 HTTP などの通信に必要なモジュールも多く用意されています。標準モジュール
Node.js のドキュメントで説明されているモジュールをリストにまとめました。 これらのうち、気になったモジュールについては少しずつ解説記事も書いていこうかなと考えています。モジュール | require | 概要 | 解説 |
---|---|---|---|
Events | events | イベント処理 Node.js の API の多くがこれを使った非同期イベント駆動で構築されている。 |
link |
Stream | - (stream) | ストリームのインターフェース [ベースクラスを使う場合には require] 標準出力、 HTTP リクエストなど様々なオブジェクトがこのインターフェースで実装されている。 |
|
Console | - | デバッグ用などでのコンソール出力 [console : グローバルオブジェクト] ブラウザーでの console に相当するオブジェクト |
|
Process | - | カレントプロセスの情報、操作 [process : グローバルオブジェクト] コマンド引数や環境変数などの情報や exit による終了など プログラムとして動作するために必要な基本的な機能群 |
1 2 3 |
Child Processes | child_process | 外部プログラムの実行など子プロセスの実行、管理 | |
Cluster | cluster | サーバーポートの複数プロセスでの共有 | |
Readline | readline | 対話型インターフェースのプログラムでよく使われている readline ライブラリーにあたる機能 | |
Utilities | util | 他のモジュールからも呼ばれるような汎用関数群 | |
URL | url | URL の文字列解析 | link |
Query Strings | querystring | クエリー文字列(URL 中の ? 以降) | |
Path | path | ファイルパスの文字列処理 | link |
File System | fs | ファイルの I/O、ファイル情報の取得、ファイル・ディレクトリー操作 など | |
Buffer | - |
バイナリーデータ用ストリームオブジェクト [Buffer : グローバルなコンストラクター] ES6 では Uint8Array があるが、Node.js 的にはこちらがいいらしい。 |
|
String Decoder | string_decoder | Buffer のデコーダー | |
DNS | dns |
DNS による ドメイン名、 IP アドレス の解決 DNS サーバーに直接問い合わせ、OS の機能 の 2 通りの方法が使える。 |
|
Punycode | punycode | Punycode (ドメイン名で使われる文字符号化方式) のエンコード、デコード | |
Net | net |
ソケット(TCP/IP)通信 HTTP などよりも低レベル(下位層)の通信機能 |
|
HTTP | http | HTTP サーバー、クライアント | |
HTTPS | https | HTTPS(TLS/SSL を使った HTTP)用 | |
TLS/SSL | tls | TLS/SSL (暗号化した通信) | |
Crypto | crypto | OpenSSL などをラップした暗号化機能 | |
ZLIB | zlib | GZip, Inflate でのデータ圧縮、解凍 最近の http サーバーでは gz で圧縮されたまま送って、ブラウザーで解凍することが多い |
|
UDP/Datagram | dgram | UDP (データグラムを送受信するプロトコル)通信 TCP と違いデータの完全性が保証されないので、途中でデータが抜け落ちても問題が少ない音声や画像のストリーム配信などに使われる。 |
|
OS | os | OS 関連情報の取得 どの OS かというだけなら process.platform で可能。 |
|
V8 | v8 | V8 エンジン関連 | |
VM | vm | JavaScript コードの実行 JavaScript 標準の eval() より細かく制御できる。 |
機能
Node.js のドキュメントには出ていますが、モジュールというとちょっと違うかなという機能はこちらにまとめました。機能 | 概要 | 解説 |
---|---|---|
REPL | 対話モード | |
Debugger | デバッグモード | |
Modules | モジュール管理システム | |
Globals | Node.js で利用できるグローバルオブジェクト群 | |
Errors | エラー処理 | |
Assertion Testing | アサーション(表明) 機能 | |
Timers | タイマー機能 | link |
C/C++ Addons | Node.js で C/C++ ライブラリーを使用するための仕組み |
Facebook コメント
コメント