Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Пакети та package.json». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Пакет** - це набір JavaScript-коду, який можна встановити через npm і перевикористовувати, а **`package.json`** - основний конфігураційний файл проєкту, що описує його залежності, скрипти й метадані. **Ключове:** `package.json` каже npm/pnpm/yarn, які пакети встановити в `node_modules`.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення## Що таке пакет (package) у Node.js **Пакет (package)** - це просто **набір JavaScript-коду**, який можна перевикористовувати. Зазвичай це **бібліотека, модуль або утиліта**, яку можна встановити через npm (Node Package Manager). ### Простіше кажучи: > **Пакет = проєкт із файлом** `package.json`**, який можна встановити й використовувати як залежність.** ### Приклади популярних пакетів: | Назва | Призначення | |---|---| | `express` | Створення веб-серверів і API | | `dotenv` | Робота з `.env`-файлами (змінні середовища) | | `mongoose` | Робота з MongoDB | | `lodash` | Утиліти для роботи з масивами й об'єктами | | `axios` | HTTP-запити (fetch для Node.js) | | `chalk` | Розфарбовування виводу в консолі | | `jest` | Тестування | ### Де зберігаються пакети Після встановлення через npm/pnpm/yarn пакети потрапляють у папку: ```javascript node_modules/ ``` А їхні версії й перелік зберігаються в `package.json`. ### Приклад встановлення пакета ```javascript npm install express ``` Тепер можна використовувати його в коді: ```javascript const express = require('express'); const app = express(); app.get('/', (req, res) => res.send('Hello from Express!')); app.listen(3000); ``` ## Що таке `package.json` `package.json` - це **основний конфігураційний файл проєкту Node.js**. Він описує: - проєкт, - його залежності, - скрипти, - метадані (назву, версію, ліцензію тощо). ### Приклад простого `package.json` ```javascript { "name": "my-node-app", "version": "1.0.0", "description": "Example Node.js project", "main": "index.js", "scripts": { "start": "node index.js", "dev": "nodemon index.js" }, "dependencies": { "express": "^4.18.2" }, "devDependencies": { "nodemon": "^3.0.1" }, "author": "Tim", "license": "MIT" } ``` ## Основні поля `package.json` | Поле | Опис | |---|---| | `name` | Назва пакета чи проєкту (унікальна в npm, якщо публікується) | | `version` | Версія проєкту (за семантичним версіюванням) | | `description` | Короткий опис проєкту | | `main` | Точка входу - файл, що запускається при імпорті (`require('my-package')`) | | `scripts` | Команди, які можна запускати через `npm run` | | `dependencies` | Пакети, потрібні для роботи проєкту в продакшені | | `devDependencies` | Пакети, потрібні тільки для розробки (тести, збірка тощо) | | `author` | Автор проєкту | | `license` | Тип ліцензії (наприклад, MIT, ISC тощо) | ### Приклад використання скриптів Якщо в `package.json` є: ```javascript "scripts": { "start": "node index.js", "test": "jest" } ``` Можна запустити так: ```javascript npm start npm run test ``` ## Як створити `package.json` вручну 1. Автоматично (з питаннями в консолі): ```javascript npm init ``` 2. Швидко (за замовчуванням, без питань): ```javascript npm init -y ``` ## Зв'язок між пакетами й `package.json` | Елемент | Роль | |---|---| | **Пакет** | Код бібліотеки чи проєкту | | `package.json` | Опис пакета: що це, які залежності, як запускати | | **npm / pnpm / yarn** | Менеджер пакетів, який читає `package.json` і встановлює потрібні пакети | ## Підсумок | Поняття | Опис | |---|---| | **Package (пакет)** | Бібліотека чи модуль Node.js, придатний для повторного використання | | `package.json` | Файл, що описує проєкт і його залежності | | **npm** | Інструмент для керування пакетами | | `node_modules` | Папка, де зберігаються встановлені пакети |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.