Ответ
Да, терминал — это мой основной инструмент для повседневной работы с Node.js. Через него я управляю всем жизненным циклом проекта.
Основные задачи, которые я выполняю в терминале:
- Управление зависимостями:
npm install,npm update,npm ciдля чистых установок. - Запуск скриптов:
npm run dev(с nodemon),npm start,npm test. - Управление версиями Node.js: Использую
nvm(Node Version Manager) для переключения между версиями. - Работа с Git: Все стандартные операции —
git add,commit,push,pull. - Отладка и инспекция: Запуск скриптов с флагами (
node --inspect) или использование REPL (node). - Работа с процессами: Мониторинг (
ps aux | grep node), завершение процессов (killилиpkill).
Примеры часто используемых команд:
# Проверка окружения
node --version
npm --version
# Установка зависимостей для production
npm ci --only=production
# Запуск приложения с переменными окружения
NODE_ENV=production PORT=3000 node dist/app.js
# Глобальная установка утилит (например, для мониторинга)
npm install -g pm2
pm2 start ecosystem.config.js
Для повышения эффективности я настраиваю псевдонимы (aliases) в shell и использую инструменты вроде nodemon для hot-reload во время разработки.
Ответ 18+ 🔞
А, терминал? Да это ж моя основная рабочая лошадка, когда я с Node.js возюсь. Через него вообще всё вертится, от и до.
Чем я там обычно занимаюсь, ёпта:
- Зависимости всякие:
npm install,npm update, а если совсем всё накрылось —npm ci, чтобы с чистого листа начать. Без этого никуда. - Скрипты гоняю:
npm run dev(с nodemon, чтобы не перезапускать вручную),npm start,npm test— классика жанра. - Версии Node.js меняю: Пользуюсь
nvm, это просто спасение, когда на одном проекте нужна одна версия, а на другом — другая. Удивление пиздец, насколько это удобно. - С Git работаю: Все стандартные штуки —
git add,commit,push,pull. Без этого сейчас как без рук. - Отладка и ковыряние: Запускаю с флагами вроде
node --inspectили просто в REPL (node) заскакиваю, если надо быстро что-то проверить. - Процессами руковожу: Смотрю, что там творится (
ps aux | grep node), а если что-то зависло — отправляю на тот свет черезkillилиpkill. Волнение ебать, когда процесс не убивается с первого раза.
Вот примеры команд, которые у меня на автопилоте:
# Проверка, что всё на месте
node --version
npm --version
# Чистая установка зависимостей для прода
npm ci --only=production
# Запуск приложения с окружением
NODE_ENV=production PORT=3000 node dist/app.js
# Ставим глобально что-нибудь полезное, например, pm2 для мониторинга
npm install -g pm2
pm2 start ecosystem.config.js
Чтобы не сойти с ума от постоянного ввода одних и тех же команд, я настраиваю себе псевдонимы (aliases) в шелле. А ещё без nodemon для hot-reload во время разработки — это просто хитрая жопа, каждый раз перезапускать вручную. Терпения ноль ебать на такое.