Пакети та package.json
Що таке пакет (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 вручну
- Автоматично (з питаннями в консолі):
javascript
npm init- Швидко (за замовчуванням, без питань):
javascript
npm init -yЗв'язок між пакетами й package.json
| Елемент | Роль |
|---|---|
| Пакет | Код бібліотеки чи проєкту |
package.json | Опис пакета: що це, які залежності, як запускати |
| npm / pnpm / yarn | Менеджер пакетів, який читає package.json і встановлює потрібні пакети |
Підсумок
| Поняття | Опис |
|---|---|
| Package (пакет) | Бібліотека чи модуль Node.js, придатний для повторного використання |
package.json | Файл, що описує проєкт і його залежності |
| npm | Інструмент для керування пакетами |
node_modules | Папка, де зберігаються встановлені пакети |
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.