Перейти до основного вмісту

Інструменти для роботи з Node.js

Що таке npm?

npm (Node Package Manager) — це офіційний пакетний менеджер для Node.js. Він дозволяє:

  • Встановлювати сторонні бібліотеки та фреймворки
  • Керувати залежностями проєкту
  • Запускати скрипти (команди) через package.json

Приклад ініціалізації проєкту з npm

npm init -y

Файл package.json (скорочений приклад)

{
  "name": "my-project",
  "version": "1.0.0",
  "scripts": {
    "start": "ts-node src/index.ts",
    "build": "tsc"
  },
  "dependencies": {
    "express": "^4.18.0"
  },
  "devDependencies": {
    "typescript": "^5.0.0",
    "ts-node": "^10.0.0"
  }
}

Що таке tsconfig.json?

tsconfig.json — це файл конфігурації для компілятора TypeScript, який визначає, як слід компілювати код.

Приклад файлу tsconfig.json

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "CommonJS",
    "rootDir": "src",
    "outDir": "dist",
    "strict": true,
    "esModuleInterop": true
  }
}

Основні опції:

  • target — яку версію JS згенерувати (наприклад, ES2020)
  • module — тип модулів (CommonJS для Node.js)
  • strict — вмикає жорстку типізацію
  • esModuleInterop — дозволяє імпортувати CommonJS-модулі як ES-модулі
  • rootDir / outDir — папки для вхідного та вихідного коду

Інші пакетні менеджери

Окрім npm, існують альтернативи:

  • yarn — швидший, має функцію workspaces
  • pnpm — ефективний за використанням диску, підтримує монорепозиторії

Приклад встановлення бібліотеки з типами

npm install express
npm install -D @types/express

У TypeScript проєктах потрібно встановлювати типи для бібліотек через пакет @types/<назва>, якщо сама бібліотека їх не надає.

npm та tsconfig.json — це ключові інструменти для роботи з Node.js і TypeScript. Вони дозволяють структурувати, автоматизувати та масштабувати серверні застосунки з точністю, аналогічною до того, як pom.xml або build.gradle працює в Java-середовищі.

Visual Studio Code (VS Code)

VS Code — це легка, але потужна IDE для розробки на JavaScript/TypeScript. Вона має вбудовану підтримку IntelliSense, інтеграцію з Git, налагодження, а також величезну кількість плагінів.

Рекомендовані розширення для Node.js + TypeScript

  • ESLint — перевірка стилю коду
  • Prettier — автоформатування
  • TypeScript — підтримка мови
  • npm Intellisense — автозаповнення для імпортів
  • Path Intellisense — підказки для шляхів до файлів
  • Debugger for Chrome — налагодження у браузері (для full-stack)

Переваги VS Code

  • Швидкий старт (на відміну від важких IDE, як IntelliJ IDEA)
  • Вбудований термінал для роботи з npm, tsc, npx
  • Гнучка конфігурація: settings.json, launch.json
  • Можливість працювати з Docker, Git, базами даних, REST API прямо в IDE

Node Version Manager (nvm)

nvm — це утиліта для керування версіями Node.js. Дозволяє легко встановлювати, перемикати, оновлювати Node.js без глобальних конфліктів.

Переваги nvm

  • Можливість використовувати різні версії Node.js для різних проєктів
  • Не потребує прав адміністратора
  • Зручний для CI/CD, розробки, тестування старих проєктів

Установка nvm (Linux/macOS)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# або
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Після установки перезапустіть термінал і перевірте:

nvm --version

Команди nvm

# Встановити останню LTS версію
nvm install --lts

# Встановити конкретну версію
nvm install 20.10.0

# Перемкнути версію
nvm use 20.10.0

# Переглянути список встановлених версій
nvm ls

# Встановити цю версію як дефолтну
nvm alias default 20.10.0

Інструменти VS Code та nvm значно спрощують розробку на Node.js + TypeScript. Java-розробники, які звикли до складної екосистеми з Maven/Gradle, можуть оцінити гнучкість і легкість запуску проектів з мінімумом конфігурації.

Коментарі

Популярні публікації

Колекції в Elixir

Списки Що таке список у Elixir У Elixir список — це впорядкована колекція елементів, реалізована як однозв’язний список . Це означає, що кожен елемент (вузол) зберігає посилання на наступний, але не на попередній. Така структура дозволяє швидко додавати елементи на початок списку, але повільно доступати до довільного елементу. У Java подібну структуру представляє LinkedList — частина Java Collections Framework. Вона реалізована як двозв’язний список, що забезпечує зручне додавання/видалення елементів з початку або кінця списку. Створення списків У Elixir список створюється за допомогою квадратних дужок: list = [1, 2, 3, 4] Додавання елементів У Elixir новий елемент можна додати тільки на початок списку за допомогою оператора | : # Elixir list = [2, 3, 4] new_list = [1 | list] # [1, 2, 3, 4] Доступ до елементів У Elixir немає прямого доступу до елементів за індексом, але це можна зробити через Enum.at : Enum.at([10, 20, 30], 1) # 20 Ітерація по списку У Elixir ...

Атоми в мові програмування Elixir

Атоми в Elixir Атоми є фундаментальною концепцією в Elixir , що відіграє ключову роль у створенні надійних та масштабованих систем. В Elixir це специфічний тип даних, який є константою , незмінною , ідентифікованою за своїм ім'ям . Отже, атом в Elixir — це іменована константа, що представляє себе. Уявіть, що ви даєте унікальне ім'я певній речі, і це ім'я завжди посилається саме на цю річ, і ніколи на щось інше. Наприклад, атом :ok завжди буде означати саме успішне завершення операції, а не якесь інше значення. Технічно, атоми є похідними від чисел . Кожен унікальний атом зберігається у таблиці атомів, і йому присвоюється унікальний цілочисельний ідентифікатор. Це робить їх надзвичайно ефективними для порівняння: замість порівняння рядків (що є повільною операцією), Elixir порівнює цілочисельні ідентифікатори. Переваги та особливості використання атомів Переваги атомів: Ефективність. Завдяки своєму числовому представленню, порівняння атомів є дуже швидким. Це осо...

Встановлення PostgreSQL на Ubuntu-сервер

Встановлення Оновлюємо пакети та встановлюємо PostgreSQL: sudo apt update sudo apt install -y postgresql postgresql-contrib Перевіряємо статус сервісу: sudo systemctl status postgresql Якщо PostgreSQL не запущений, запустимо його: sudo systemctl start postgresql sudo systemctl enable postgresql Налаштування безпеки Зміна пароля: sudo -u postgres psql У консолі PostgreSQL: ALTER USER postgres PASSWORD 'міцний_пароль'; \q \q - вихід з консолі. Список основних команд для роботи з PostgreSQL можна переглянути за посиланням. За замовчуванням PostgreSQL слухає localhost (127.0.0.1). Щоб дозволити доступ із зовнішніх машин, редагуємо конфігурацію: sudo nano /etc/postgresql/17/main/postgresql.conf (замість 17 вкажи версію PostgreSQL, яку встановлено) Шукаємо рядок: #listen_addresses = 'localhost' та замінюємо на listen_addresses = '*' Зберігаємо (Ctrl + X, Y, Enter). Тепер редагуємо pg_hba.conf: sudo nano /etc/postgresql/17/main/pg_hba.conf...

Основи Node.js

Що таке Node.js? Node.js — це середовище виконання JavaScript поза браузером, побудоване на рушії Google V8 . Воно дозволяє запускати JavaScript на сервері, створюючи серверні застосунки з високою продуктивністю. Основні характеристики: Однопотокова модель з неблокуючим I/O Асинхронне виконання за допомогою event loop Висока продуктивність у роботі з мережевими запитами npm — найбільший реєстр пакетів Що таке event loop? Event loop — це механізм в Node.js, який дозволяє неблокуючим асинхронним операціям виконуватись у середовищі з єдиним потоком. Він постійно перевіряє наявність подій у черзі та викликає відповідні колбеки. Як працює однопоточність у Node.js? Node.js використовує один потік (main thread) для обробки JavaScript-коду. Операції, які займають час (мережеві запити, читання з файлової системи), делегуються до системних API або thread pool, і після завершення результат повертається у основний потік через event loop. Приклад: асинхронна о...