Node.js+NestJSのディレクトリ説明

node_modules

npmなどのパッケージマネージャが、依存パッケージを実際に展開して配置するフォルダです。
node_modulesディレクトリ内のモジュールは、Node.jsのrequire()/import解決アルゴリズムの探索対象になるため、実行時にコードを読み込めます。

生成タイミング

インストール方法配置パス用途
npm install(プロジェクト直下<プロジェクト>/node_modulesローカル依存。アプリ実行・開発ビルド時に参照。
npm install -gUnix: {prefix}/lib/node_modulesグローバル依存。CLI ツールや複数プロジェクト共用コマンド。

中に何が入るか

項目説明
<package>/それぞれの依存パッケージ本体(package.json, JS/TS, 型定義, README など)
@scope/<package>/スコープ付きパッケージ用のサブディレクトリ(例 @nestjs/common
.bin/npm run や CLI から呼ばれる実行ファイルのシンボリックリンク群
.package-lock.jsonnpm v7+ が内部キャッシュとして使うロック情報 — 同期に成功しているかの判定に利用

スコープ付きパッケージの代表的なスコープ

スコープ代表的な用途・パッケージ
@types型定義(@types/node , @types/react …)
@nestjsNestJS本体とサブモジュール
@babelBabelコンパイラ関連
スコープによって、ユーザ名や組織名に紐づく名前空間で、同名パッケージの衝突を避けられます。