Що зберігає в собі node_modules?
node_modules - це папка, у якій npm (або yarn/pnpm) зберігає всі встановлені залежності проєкту, а також їхні вкладені залежності.
Що саме там міститься
- Основні залежності з
package.json(dependenciesтаdevDependencies) Кожен встановлений пакет потрапляє вnode_modules. - Вкладені залежності
Якщо ваша бібліотека залежить від іншої бібліотеки, та теж буде встановлена всередині
node_modules, навіть якщо ви напряму її не вказували. - Скомпільовані артефакти Деякі пакети містять скомпільовані бінарні файли (наприклад, для Node-модулів на C/C++).
- Службові файли екосистеми npm
Наприклад,
.bin- папка з виконуваними файлами для CLI-пакетів.
Характерні особливості
-
Об'ємна структура
node_modulesможе займати сотні мегабайтів або навіть гігабайти через вкладеність залежностей. -
Не зберігається в репозиторії Зазвичай цю папку додають до
.gitignore, бо вона легко відновлюється командою:bashnpm install -
Читабельність другорядна Папка не призначена для ручного редагування - це системна структура npm.
Підсумок
node_modules зберігає повний набір усіх бібліотек, потрібних проєкту для роботи, включно з їхніми вкладеними залежностями та службовими файлами. Це фактично «встановлена версія екосистеми», що ґрунтується на даних package.json та package-lock.json.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.