Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

Node.jsのAPIをまとめてみた

$
0
0

はじめに

先週ぐらいからNode.jsの参考書を読み始め、途中から
■■ = require('〇〇')
というのが連発してきて、いろんな種類のAPIが使えるのだと知りました。

参考書の最初は「require('events')」や「require('http')」を使っていて、
他にどんなAPIが使えるのか気になり、一覧としてまとめてみました。

※初学者のため誤りがあると思います。
 間違いはコメントしていただけると幸いです。:bow_tone1:

本題の前に

本題の前に、「require」について少しだけ触れておきます。

requireとは、モジュール化されたJavaScriptのファイルをNodeから読み込んで利用できるようにしてくれるものです。

npmを使ってインストールしてきたパッケージを利用する際にもこの「require」を使用します。

著者は普段、C言語を使用していますので、この「require」はC言語のインクルードみたいなものだと理解しています。(あくまでもイメージです。)

本記事は、Nodeをインストールしたらデフォルトで使用できるモジュールについて一覧にしてみました。

Nodeモジュール一覧

下表はNode.js v12.18.2 ドキュメントを参考にまとめました。
公式ドキュメントにはそのAPIの安定性が記載されています。
簡単にまとめると、

安定性:0 - 非推奨
安定性:1 - 実験的
安定性:2 - 安定
(詳しくは ⇒ 公式ドキュメント)

使いたいAPIは、「require('下表のAPI名')」を書けば使えます。

APIAPI名安定性説明
Assertion Testingassert2アサーションモードの使用
Async Hooksasync_hooks1非同期リソースの追跡
Bufferbuffer ※12バイナリデータを一連のバイト形式に変換
C++ Addons./build/Release/addon ※22C++で記載されたアドオンをロード
Child Processeschild_process2子プロセスを生成
Clustercluster2サーバポートを共有する子プロセスを生成
Consoleconsole ※12単純なデバッグコンソール
Cryptocrypto2暗号化機能
DNSdns2名前解決
Domaindomain0複数の異なるIO操作の処理
Eventsevents2イベント処理
File Systemfs2ファイルシステム操作
HTTPhttp2HTTPインタフェース
HTTP/2http22HTTP/2プロトコルの実装
HTTPShttps2httpsインタフェース
Inspectorinspector1V8インスペクターとの対話
Netnet2TCPまたはIPCサーバ・クライアントの作成
OSos2OS関連のユースティリティ
Pathpath2ファイルおよびディレクトリパス操作
Processprocess ※1記載なしプロセス制御
Punycodepunycode0Punycodeモジュールのバンドル
Query Stringsquerystring2食える文字列の解析及びフォーマット
Readlinereadline2ストリームから1行ずつデータ読み取り
REPLrepl2REPLの実装
Streamstream2ストリーミングデータの操作
String Decoderstring_decoder2文字列にデコード
Timerstimers ※12スケジュール操作
TLS/SSLtls2TLSおよびSSLプロトコルの実装
Trace Eventstrace_events1トレースイベント操作
TTYtty ※32tty操作
UDP/Datagramdgram2UDPデータグラムソケットの実装
URLurl2URL解決および解析
Utilitiesutil2APIのユースティリティ
V8v8記載なしV8固有のAPI
VMvm2V8仮想マシン
Worker Threadsworker_threads2スレッド作成
Zlibzlib2圧縮機能

※1. グローバルスコープ内にあるため、requireを使用する必要はほとんどない
※2. build/Release/addon.nodeという名前でアドオンが作成
※3. ほとんどの場合、直接操作する必要はない

さいごに

調べてみると、使っていないAPIがたくさんあることに気づきました。
フレームワークもたくさんあるのでそこら辺も一回整理したいですね。

参考


Viewing all articles
Browse latest Browse all 8691

Trending Articles