CCA Prep

Урок 6.4Урок 23 з 24

Керування пакетами npm

Given a scenario and requirements, distinguish which Node.Js Package Management solution is the most fitting.

Керування пакетами npmnpm installПідбирає версії за діапазонами зpackage.jsonМоже оновити package-lock.jsonДодає пакет: npm install namenpm ciВстановлює рівно те, що вpackage-lock.jsonЗавершується помилкою, якщо lock-файлі package.json розходятьсяСпершу видаляє node_modules; для CIРозробляйте з npm install, а збирайте й тестуйте в CI з npm ci

Головне

  1. 1dependencies потрібні під час виконання; devDependencies — лише для збирання й тестування (npm install -D); у peerDependencies зазначають хост-пакет, спільний із застосунком; npm 7+ встановлює цей хост-пакет.
  2. 2Каретка ^1.4.2 дозволяє будь-яку 1.x.y, починаючи з 1.4.2; тильда ~1.4.2 дозволяє лише 1.4.x. Для версій 0.x ^0.3.1 лишається нижче 0.4.0.
  3. 3package-lock.json фіксує точну версію кожного встановленого пакета. Комітьте його, щоб усі отримували те саме дерево залежностей.
  4. 4npm ci встановлює рівно те, що записано в lock-файлі, і завершується помилкою, якщо він розходиться з package.json; npm update оновлює пакети в межах їхніх діапазонів і записує нові версії в lock-файл, а не в package.json.
  5. 5npm run name запускає скрипт, додавши node_modules/.bin до PATH; npx запускає команду пакета без глобального встановлення.
Що перевіряє іспит із цієї теми

Формулювання з програми іспиту (англійською).

  • 6.4.K1npm: package.json, dependencies vs devDependencies, scripts, package-lock.json
  • 6.4.K2Semantic versioning ranges (^, ~), npm install vs npm ci, npx
  • 6.4.S1Choose the package management command or setting that meets a requirement

Закріпіть тему

Дайте відповідь на запитання за сценаріями з цієї теми. До кожного варіанта є розбір.

Тренування 6.4 · 12 запитань