Используете ли вы терминал при разработке на Node.js?

Ответ

Да, терминал — это мой основной инструмент для повседневной работы с 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 во время разработки — это просто хитрая жопа, каждый раз перезапускать вручную. Терпения ноль ебать на такое.