Приведи базовые команды работы с npm в Node.js проекте.

Ответ

Основные команды npm для управления зависимостями и скриптами:

  1. Инициализация проекта:

    npm init -y
    # Создаёт package.json с значениями по умолчанию
  2. Установка зависимостей:

    
    # Установка пакета как production-зависимости
    npm install express
    # или коротко
    npm i express

Установка как dev-зависимости (для разработки)

npm i --save-dev typescript jest

Установка глобально

npm i -g nodemon

Установка всех зависимостей из package.json

npm install


3. **Управление зависимостями:**
```bash
# Удаление пакета
npm uninstall lodash

# Обновление пакета до последней версии
npm update express

# Проверка устаревших пакетов
npm outdated
  1. Просмотр зависимостей:

    # Дерево зависимостей
    npm list
    # Только верхний уровень
    npm list --depth=0
  2. Работа со скриптами (package.json):

    {
    "scripts": {
    "start": "node src/index.js",
    "dev": "nodemon src/index.js",
    "test": "jest",
    "build": "tsc"
    }
    }
    # Запуск скрипта
    npm run dev
    npm test
    npm start
  3. Публикация пакета:

    npm login
    npm publish

Ответ 18+ 🔞

Давай разберём этот npm-зоопарк, чтобы ты не чувствовал себя как мартышлюшка с гранатой в руках. Вот что тут понаписано, ёпта.

Начнём с инициализации. Команда npm init -y — это когда тебе терпения ноль ебать и ты хочешь создать package.json по-быстрому, без этих дурацких вопросов «какая версия?», «какая лицензия?». Просто да похуй, пусть будет по умолчанию. Создаёт файлик, с которого всё начинается. Без него ты — распиздяй.

Дальше — установка зависимостей. Тут целая наука, блядь.

  • npm install express или npm i express — ставит пакет как нормальную, продакшен-зависимость. То, без чего твой проект — хуй в пальто, не запустится.
  • npm i --save-dev typescript — это для разработки. Типа, TypeScript нужен, чтобы код писать, а на сервере его хуй с горы не будет. Ставится как dev-зависимость.
  • npm i -g nodemon — глобально. Поставил один раз и он у тебя везде. Удобно, но если переустановишь систему — накрылся медным тазом, всё заново ставить.
  • Просто npm install — святое дело. Скачал проект с гита, и первое, что делаешь. Он смотрит в package.json и тащит овердохуища пакетов из интернета. Сидишь, ждёшь, бздишь, что всё скачается.

Управление этим хозяйством:

  • npm uninstall lodash — выкинул ненужную библиотеку. Иногда ставишь какую-нибудь пиздопроебибну, а потом понимаешь — не надо.
  • npm update express — пытаешься обновить до новой версии. Доверия ебать ноль, потому что может всё сломаться. Сначала тестируй.
  • npm outdated — глянешь, какие пакеты устарели. Часто видишь там красненькое и думаешь: «Ни хуя себе, я на древней версии сижу!».

Посмотреть, что наворотил: npm list покажет тебе дерево зависимостей. Если не указать глубину (--depth=0), то он вывалит тебе всё, включая зависимости зависимостей. Получится такая манда с ушами, которую не прочитать. Лучше с флагом, чтобы только верхний уровень увидеть.

А теперь самое вкусное — скрипты! Это же ебушки-воробушки, удобство нереальное. В package.json пишешь:

{
  "scripts": {
    "start": "node src/index.js",
    "dev": "nodemon src/index.js",
    "test": "jest",
    "build": "tsc"
  }
}

И потом вместо того, чтобы помнить, какую длинную команду запускать, просто пишешь в консоли npm run dev. И он сам запустит nodemon. npm test запустит тесты. npm start — продакшен-сервер. Красота! В рот меня чих-пых, как же раньше без этого жили.

Ну и для самых смелых — публикация своего пакета. npm login и npm publish. Это когда ты уже такой полупидор, что написал что-то полезное и решил поделиться с миром. Только осторожно, вы ходите по охуенно тонкому льду — версию семантическую надо соблюдать, а то гомосеки налетели и закидают тебя issues.

Вот и вся магия. Главное — не бздеть и пробовать. Сначала подозрение ебать чувствуешь, а потом втягиваешься.