Полный цикл в digital

Файл package.json

Файл package.json представляет собой центральный репозиторий настроек для инструментальных средств, используемых в проекте. Кроме того, он является тем местом, куда npm записывает сведения об именах и версиях установленных пакетов. Любая директория, в которой есть этот файл, интерпретируется как Node.js-пакет. Способ использования файла package.json зависит от того, собираетесь ли вы скачивать пакет или публиковать его в репозитории npmjs.com.

Основные поля в package.json

Файл package.json содержит несколько важных полей, в том числе:

  • name название вашего проекта. Это имя должно быть уникальным в реестре NPM
  • version номер версии вашего проекта в формате x.y.z.
  • description краткое описание вашего проекта
  • dependencies список зависимостей, необходимых для запуска вашего проекта. Эти зависимости устанавливаются NPM и перечислены в разделе зависимостей вашего файла package.json
  • devDependencies список зависимостей, которые необходимы только для разработки, например инструментов тестирования или сборки
  • scripts список скриптов, которые можно запустить с помощью команды npm run

Скрипты в package.json

В разделе сценариев файла package.json вы можете определить сценарии, которые можно запускать с помощью команды npm run. Эти сценарии могут автоматизировать различные задачи, такие как создание и тестирование кода. Чтобы определить скрипт, просто добавьте пару ключ-значение в раздел скриптов вашего файла:

package.json"scripts": {
    "dev": "webpack --mode development",
    "prod": "webpack --mode production"  
}

В этом примере вы можете запустить сборку Webpack для разработки, выполнив следующую команду:

npm run dev

Скачивание пакетов через package.json

Для скачивания пакетов используется package.json файл. Создайте в директории вашего проекта файл и добавьте в него следующий код:

package.json{
  "devDependencies": {
    "jquery": "^3.6.1"
  }
}

Затем сохраните файл и выполните в терминале команду которая запустит файл package.json:

npm install

Что такое package-lock.json

package-lock.json это лок-файл, или файл блокировки, содержащий информацию о зависимостях/пакетах с их точными номерами версий, которые были установлены для проекта node.js.

  • Помогает членам команды, работающим над одним и тем же репозиторием, инсталлировать именно те версии пакетов, которые были установлены ранее, даже если для пакетов были выпущены новые версии. Это обеспечивает одинаковое дерево node_modules на разных компьютерах/средах
  • Файл package-lock.json используется для фиксации зависимостей к определенному номеру версии
  • Файл автоматически генерируется при изменении дерева node_modules или файла package.json
  • Всякий раз при клонировании репозитория и запуска npm i на новом компьютере, npm сначала обратит внимание на наличие файла package-lock.json, при обнаружении он начнет установку пакетов, указанных в этом файле. В противном случае заглянет в файл package.json и начнет установку необходимых зависимых пакетов

Команда npm install учитывает package-lock.json, только если устанавливаемый пакеты находится в диапазоне версий package.json.

Если версия пакета указанная в лок-файле, не входит в диапазон версий файла package.json, пакеты обновляются и package-lock.jsonперезаписывается. Чтобы вместо перезаписи package-lock.json установка завершилась неудачей, используется команда npm ci.

Версии пакетов

Учитывая, что при использовании semver все версии имеют 3 цифры:

  1. Первая основной выпуск
  2. Вторая вспомогательная версия
  3. Третья выпуск исправлений

Предусмотрины следующие правила:

  • ~ если вы пишете ~0.13.0, значит хотите обновлять только выпуски исправлений. 0.13.1 это пройдет, 0.14.0 это не пройдет
  • ^ если вы пишете ^0.13.0, вы хотите обновить патч и релизы: 0.13.1, 0.14.0 это пройдет
  • * принимаете все обновления, включая обновления основных версий
  • > принимаете любую версию выше указанной
  • >= принимаете любую версию, равную или выше той, которую вы указали
  • <= принимаете любую версию, равную или ниже той, которую вы указали
  • без символа принимаете только указанную версию
  • latest вы хотите использовать последнюю доступную версию
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг