Node.js, npm та VS Code
Node.js npm та VS Code — організоване робоче місце розробника з монітором та клавіатурою
У попередніх уроках ми опанували термінал, Git та GitHub. Тепер час налаштувати останні інструменти — Node.js, npm та VS Code. Після цього уроку у тебе буде повний набір інструментів, як у професійного розробника.
Що таке Node.js?
До 2009 року JavaScript працював тільки в браузері. Хочеш запустити JS-код — відкривай Chrome. А потім Раян Дал (Ryan Dahl) створив Node.js — середовище, яке дозволяє запускати JavaScript на комп'ютері, без браузера.
Це змінило все: одна мова — і для сайтів, і для серверів, і для інструментів розробки.
Node.js використовують Netflix, PayPal, LinkedIn та Uber. Netflix перейшов з Java на Node.js і скоротив час запуску застосунку з 40 хвилин до менше ніж 1 хвилини. А PayPal зміг писати один код і для браузера, і для сервера — що вдвічі зменшило команду розробників.
Встановлення Node.js
- Перейди на nodejs.org
- Завантаж версію LTS (Long Term Support) — це стабільна версія, яку рекомендують для роботи
- Встанови з налаштуваннями за замовчуванням
Перевір у терміналі:
node --version
# v22.x.x
npm --version
# 10.x.x
Бачиш версії? Чудово, Node.js встановлено. Зверни увагу — npm встановився автоматично разом з Node.js.
Запускаємо JavaScript без браузера
Давай спробуємо прямо зараз. Створи файл hello.js:
const name = "Світ";
console.log(`Привіт, ${name}!`);
// Трохи математики
const a = 10;
const b = 3;
console.log(`${a} + ${b} = ${a + b}`);
console.log(`${a} * ${b} = ${a * b}`);
Запусти:
Запуск JavaScript через Node.js — node hello.js
node hello.js
# Привіт, Світ!
# 10 + 3 = 13
# 10 * 3 = 30
Ти щойно запустив JavaScript на своєму комп'ютері, без жодного браузера. Поки що ми не будемо глибоко вивчати JS — це буде в Block 4. Але тепер ти знаєш, що Node.js дозволяє запускати JS-файли командою node файл.js.
npm — менеджер пакетів
npm (Node Package Manager) — це як App Store, але для коду. Замість того щоб писати все з нуля, ти завантажуєш готові бібліотеки (пакети), які створили інші розробники.
Хочеш працювати з датами? Є пакет dayjs. Валідувати email? Є validator. Створити веб-сервер? express. Для будь-якої задачі, швидше за все, вже є готовий пакет.
В реєстрі npm понад 3 мільйони пакетів. Щотижня їх завантажують понад 30 мільярдів разів. Це найбільший реєстр програмного забезпечення у світі.
package.json — паспорт проєкту
Кожен проєкт на Node.js починається з файлу package.json. Це як паспорт: в ньому записано як називається проєкт, які пакети він використовує і які команди можна запустити.
Створюємо package.json
npm init та npm install — створення проєкту і встановлення пакетів
mkdir my-app
cd my-app
# Створюємо package.json з дефолтними значеннями
npm init -y
Відкрий створений файл — побачиш:
{
"name": "my-app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
}
| Поле | Що означає |
|---|---|
name | Назва проєкту |
version | Версія проєкту |
scripts | Команди, які можна запускати через npm run |
dependencies | Пакети, потрібні користувачам сайту |
devDependencies | Пакети, потрібні тільки тобі як розробнику |
У чому різниця між dependencies та devDependencies? Уяви ресторан. dependencies — це інгредієнти для страв (без них ресторан не працює). devDependencies — це інструменти кухаря: ножі, дошки, форми (потрібні для готування, але гості їх не бачать). Наприклад, бібліотека dayjs для роботи з датами — це dependency (потрібна в готовому сайті). А prettier для форматування коду — devDependency (потрібна тільки тобі під час розробки).
Встановлення пакетів
# Встановити пакет (додається в dependencies)
npm install dayjs
# Встановити пакет тільки для розробки (devDependencies)
npm install --save-dev prettier
# Видалити пакет
npm uninstall dayjs
Після npm install dayjs стались три речі:
- З'явилася папка node_modules/ — тут живе код пакету
- В package.json додався запис в
dependencies - З'явився файл package-lock.json — він фіксує точні версії всіх пакетів
{
"dependencies": {
"dayjs": "^1.11.10"
}
}
Чому node_modules НЕ комітять в Git?
Папка node_modules може містити тисячі файлів і важити сотні мегабайт. Але це не проблема — достатньо мати package.json. Будь-хто може виконати одну команду:
npm install
І npm завантажить все необхідне. Тому в .gitignore завжди є:
node_modules/
А от package-lock.json потрібно комітити! Він гарантує, що у всіх розробників будуть ідентичні версії пакетів. Без нього у когось може встановитися новіша версія з несумісними змінами.
npm scripts — власні команди
Найкорисніша частина package.json — це scripts. Ти можеш створити свої команди-шорткати:
{
"scripts": {
"start": "node server.js",
"hello": "echo Привіт від npm!",
"format": "prettier --write ."
}
}
Запуск:
# start та test — особливі, можна без "run"
npm start
# Всі інші — через "run"
npm run hello
npm run format
Тримай всі команди проєкту в scripts. Замість того щоб запам'ятовувати довгі команди типу prettier --write --single-quote ., пишеш npm run format — і все. Новий розробник теж одразу знає як працювати з проєктом — достатньо подивитися scripts у package.json.
npx — запустити без встановлення
Іноді хочеш спробувати пакет, не встановлюючи його. Для цього є npx:
# Запускає пакет одноразово, без npm install
npx cowsay "Привіт!"
Побачиш корівку, яка "говорить" у терміналі. npx завантажить пакет тимчасово, запустить — і видалить. Корисно для одноразових інструментів.
VS Code — редактор коду
Visual Studio Code — найпопулярніший редактор коду у світі. Безкоштовний, швидкий, з тисячами розширень. Його використовують і студенти, і розробники в Google.
Встановлення
Завантаж з code.visualstudio.com та встанови.
Відкриваємо проєкт
Найзручніший спосіб — з терміналу:
# Відкрити поточну папку в VS Code
code .
Якщо команда code не працює: відкрий VS Code → натисни Cmd+Shift+P (або Ctrl+Shift+P) → набери "shell command" → обери "Install 'code' command in PATH".
Інтерфейс
┌──────────────────────────────────────────┐
│ Menu Bar │
├──────┬───────────────────────────────────┤
│ │ │
│ Side │ Editor │
│ Bar │ (тут пишеш код) │
│ │ │
│ ├───────────────────────────────────┤
│ │ Terminal (вбудований термінал) │
└──────┴───────────────────────────────────┘
Вбудований термінал відкривається через Ctrl+** (або **Cmd+ на Mac). Тепер можеш писати код і запускати команди в одному вікні!
Обов'язкові розширення
Натисни іконку Extensions у Side Bar (або Ctrl+Shift+X) та встанови:
| Розширення | Навіщо |
|---|---|
| Live Server | Запускає локальний сервер — зберігаєш файл, і зміни видно в браузері миттєво, без ручного оновлення сторінки |
| Prettier | Автоматично форматує код при збереженні — відступи, лапки, крапки з комою стають ідеальними |
| Auto Rename Tag | Перейменовуєш <div> — і </div> оновлюється автоматично |
| ESLint | Показує помилки в JavaScript ще до запуску коду — підкреслює проблемні місця |
Налаштування Prettier
Після встановлення Prettier увімкни автоформатування:
- Відкрий налаштування: Ctrl+, (або Cmd+,)
- Знайди "Format On Save" → постав галочку
- Знайди "Default Formatter" → обери "Prettier"
Тепер при кожному збереженні (Ctrl+S) код автоматично стає красивим і акуратним.
Гарячі клавіші VS Code
Ці шорткати зекономлять тобі багато часу:
| Дія | Windows/Linux | Mac |
|---|---|---|
| Командна палітра | Ctrl+Shift+P | Cmd+Shift+P |
| Швидко відкрити файл | Ctrl+P | Cmd+P |
| Перемістити рядок вгору/вниз | Alt+↑/↓ | Option+↑/↓ |
| Коментувати рядок | Ctrl+/ | Cmd+/ |
| Виділити наступне входження | Ctrl+D | Cmd+D |
| Вбудований термінал | Ctrl+` | Cmd+` |
Emmet — швидке написання HTML
Emmet вже вбудований у VS Code. Набери скорочення і натисни Tab:
| Набери | Отримаєш |
|---|---|
! | Повний HTML-шаблон (DOCTYPE, html, head, body) |
div.container | <div class="container"></div> |
ul>li*3 | <ul> зі списком із 3 елементів <li> |
a[href="#"] | <a href="#"> |
lorem | Абзац тексту-заглушки |
Emmet економить дуже багато часу при написанні HTML — ти будеш активно використовувати його в наступних блоках.
Практика: зібрати все разом
Давай створимо повноцінний проєкт з усіма інструментами, які ми вивчили:
# 1. Створюємо проєкт
mkdir my-website && cd my-website
# 2. Ініціалізуємо Git та npm
git init
npm init -y
# 3. Створюємо файли
touch index.html style.css script.js
# 4. Створюємо .gitignore
echo "node_modules/" > .gitignore
# 5. Встановлюємо Prettier
npm install --save-dev prettier
# 6. Перший коміт
git add .
git commit -m "Ініціалізація проєкту: HTML/CSS/JS + npm + Git"
# 7. Відкриваємо в VS Code
code .
Тепер у VS Code:
- Відкрий
index.html, набери!і натисни Tab — отримаєш шаблон HTML - Натисни Go Live внизу (від Live Server) — відкриється браузер з твоєю сторінкою
- Зміни щось у файлі, збережи — побачиш результат миттєво
Вітаю — ти маєш повний набір інструментів професійного розробника!
Шпаргалка
| Команда | Що робить |
|---|---|
node файл.js | Запустити JS-файл |
npm init -y | Створити package.json |
npm install пакет | Встановити пакет |
npm install --save-dev пакет | Встановити пакет для розробки |
npm install | Встановити всі пакети з package.json |
npm run назва | Запустити script |
npx пакет | Запустити пакет без встановлення |
code . | Відкрити папку в VS Code |
Підсумок
- Node.js — запускає JavaScript поза браузером
- npm — менеджер пакетів (App Store для коду)
- package.json — паспорт проєкту з описом залежностей та команд
- package-lock.json — фіксує точні версії пакетів (комітити!)
- node_modules — папка з пакетами (не комітити!)
- npx — запустити пакет одноразово, без встановлення
- VS Code — редактор коду з розширеннями, терміналом та Emmet
Що далі?
У наступному уроці дізнаємося про формати даних — JSON, Markdown, CSV та інші. Ти вже зустрічав package.json та README.md — час розібратися, що це за формати і навіщо вони потрібні.
Цікаві пакети npm, які варто спробувати:
npx cowsay "Муу!"— корівка, яка "говорить" у терміналіnpx figlet "Hello"— перетворює текст у великі ASCII-буквиnpx create-react-app my-app— створює React-проєкт однією командою (дійдемо до цього в Block 8!)
Чому JS, а не Python / Java / C++? JavaScript — єдина мова, яка працює і в браузері, і на сервері. Вивчивши одну мову, ти зможеш робити все: сайти, мобільні додатки (React Native), десктопні програми (Electron — VS Code сам написаний на JS!), сервери і навіть роботів.
Корисні посилання:
- NodeSchool — безкоштовні інтерактивні воркшопи з Node.js
- VS Code Tips & Tricks — офіційні поради від Microsoft
- Emmet Cheat Sheet — повна шпаргалка скорочень Emmet
- npm — Getting Started — офіційна документація npm