Node.js
エンジニアのためのWebチートシート
Node.jsはJavaScriptのサーバーサイドランタイムです。 モジュールシステム、ファイルシステム、HTTP、ストリーム、プロセス管理、イベント、非同期パターン、crypto、テストランナーなどの基本をチートシートにまとめました。
モジュールシステム
ES Modules(推奨)
モダンなモジュールシステムです。node: プレフィックスでコアモジュールを明示できます。
CommonJS
従来のモジュールシステムです。既存コードとの互換性があります。
package.json 基本
プロジェクト設定とスクリプト定義の基本です。
セマンティックバージョニング
| 記号 | 意味 |
|---|---|
| ^1.2.3 | マイナー+パッチ更新を許可 (>=1.2.3 <2.0.0) |
| ~1.2.3 | パッチ更新のみ許可 (>=1.2.3 <1.3.0) |
| * | 全バージョン (任意のバージョン) |
ファイルシステム (fs)
fs/promises(推奨)
Promise ベースのファイル操作APIです。async/await で使用します。
同期API & ストリーム
同期APIはCLIツールに、ストリームは大きなファイルの処理に適しています。
パス & URL
path モジュール
ファイルパスの操作ユーティリティです。
URL & URLSearchParams
WHATWG URL APIによるURL解析と操作です。
HTTP サーバー & Fetch
HTTPサーバー
http モジュールによるHTTPサーバーの作成です。
Fetch API(v22+ 安定)
ネイティブのFetch APIでHTTPリクエストを行います。
ストリーム
ストリームタイプ
| タイプ | 説明 | 例 |
|---|---|---|
| Readable | データを生成するストリーム | fs.createReadStream, http req |
| Writable | データを消費するストリーム | fs.createWriteStream, http res |
| Transform | 入力を変換して出力するストリーム | zlib, crypto |
| Duplex | 独立した入出力を持つストリーム | TCP socket |
pipeline & 操作
ストリームの接続と操作方法です。pipeline() がモダンな推奨パターンです。
プロセス & 子プロセス
process オブジェクト
環境変数、引数、メモリ、ディレクトリなどのプロセス情報です。
子プロセス (child_process)
exec, spawn, fork による外部コマンド実行です。
シグナル & シャットダウン
プロセスシグナルの処理とグレースフルシャットダウンです。
イベント & 非同期パターン
EventEmitter
イベント駆動のパブリッシュ/サブスクライブパターンです。
非同期パターン
Promise.all, Promise.allSettled, util.promisify のパターンです。
一般的なエラーコード
| コード | 意味 |
|---|---|
| ENOENT | ファイル/ディレクトリが存在しない |
| EACCES | 権限不足 |
| EADDRINUSE | ポートが使用中 |
| ECONNREFUSED | 接続拒否 |
| ETIMEDOUT | タイムアウト |
crypto & Buffer
crypto モジュール
ハッシュ、HMAC、暗号化、ランダム値生成の基本操作です。
Buffer & エンコーディング
バイナリデータの操作とエンコーディング変換です。
テスト & モダン機能
ビルトインテストランナー
node:test モジュールによるネイティブテスト(v22+)です。
v22+ モダン機能
Node.js v22以降の新機能です。
引用・参考リンク
Related Cheatsheets
- jQuery -> Vanilla JSの変換-Vanilla JSとは純粋なJavaScriptのことです。Pure JSと呼ばれたりもします。jQueryなどのライブラリありきでJavaScriptを考える風潮に皮肉を込めてVanilla JSと呼ばれています。 React.jsやVue.jsが台頭してくる中でjQueryに依存しない純粋なJavaScriptの書き方を覚えるために、jQuery -> Vanilla JSの対応関係をチートシートにまとめてみました。
- React-Reactは、Facebookとそのコミュニティによって開発されているユーザインタフェースを構築するためのJavaScriptライブラリです。React.jsまたはReactJSの名称としても知られています
- TypeScript-TypeScriptはMicrosoftが開発したJavaScriptのスーパーセットです。 静的型付けにより、開発時のエラー検出やコード補完が強化されます。 基本型、高度な型、ユーティリティ型、型ガードなどをチートシートにまとめました。
- Next.js-Next.jsはVercelが開発したReactベースのフルスタックフレームワークです。 App Router、Server Components、データフェッチング、ルーティングなどの機能をチートシートにまとめました。
- Vue.js-Vue.jsはプログレッシブJavaScriptフレームワークです。 Composition API、テンプレート構文、リアクティビティ、コンポーネントなどをチートシートにまとめました。
- GraphQL-GraphQLはAPIのためのクエリ言語であり、既存のデータに対するクエリを実行するためのランタイムです。 クエリ、ミューテーション、型システム、スキーマ定義、フラグメント、ページネーションなどをチートシートにまとめました。
- Svelte-Svelteはコンパイラベースのフロントエンドフレームワークです。 Svelte 5のRunes($state, $derived, $effect等)による新しいリアクティビティシステムを中心に、テンプレート構文、バインディング、トランジション、SvelteKitの基本をチートシートにまとめました。
Related Goods
詳細をみるNode.jsをハンズオン形式で実践的に学べる定番書。 サーバーサイドJSの基礎からアプリケーション開発まで手を動かしながら習得できます。
詳細をみる日本で一番売れているJavaScript本です。 2023年に大幅改訂されました。
詳細をみる「今の時代に一つだけ言語を学ぶなら?」 私は自信を持ってTypeScriptと答えます。TypeScriptを体系的に学ぶのにおすすめの一冊です。
詳細をみるケーブルに取り付け可能なTypeCとLightningの変換アダプタです。 スタイリッシュなデザインで、Apple製品との相性抜群です。
詳細をみるお気に入りのサウンドデバイスをすぐ取り出せる位置にディスプレイさせておくことができます。
WebTerm - Recommended tools
WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm
Browser Terminal Sandbox for Learning CLI
開く
All Cheatsheets
エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る