package-lock.json нужно зафиксировать в git?

JSON JavaScript

package.json и package-lock.json

Оба являются файлами конфигурации проекта, в которых объявляются пакеты npm и версии пакетов, от которых зависит проект.

package.json

package.json содержит следующее:

  • название проекта
  • Версия проекта
  • автор
  • Лицензия проекта
  • Выполнение заказа
  • зависимость выполнения
  • зависимости разработки
название проекта Версия проекта автор Лицензия проекта Выполнение заказа зависимость выполнения зависимости разработки
name version author license scripts dependencies devDependencies

Это не весь контент, а только список некоторых часто используемых полей. Подробную информацию см.официальная документация.

package-lock.json

package-lock.json создается при выполнении npm i для записи источника и версии фактически установленного пакета npm. Вы можете заблокировать версию пакета во время установки, и вам нужно загрузить его в git, чтобы убедиться, что все используют одну и ту же версию пакета.

Разница между зависимостями и devDependencies

зависимости объявляют зависимости, необходимые во время выполнения, такие как echarts, jquery, axios, vue и react. devDependencies объявляют зависимости, необходимые для разработки, такие как: gulp, webpack, jest.

tips

    1. Когда NPM я устанавливаю зависимости, используются разные параметры, а в местах, где добавляются зависимости, разные:
      dependencies devDependencies
      npm i xx npm i xx --save-dev
    1. Какие зависимости устанавливаются при выполнении NPM i? При выполнении NPM i вы установите все зависимости в Dependencies и DevDependencies.
    1. Зачем вам package-lock.json, если вы объявили зависимости в package.json?
    • Package.json объявляет версию только некоторых пакетов, а не всех пакетов.
    • Помимо исправления большой версии пакета зависимостей, нам также необходимо исправить зависимости зависимостей.
    1. Значение символа до версии Сначала посмотрите на значение номера версии:
       version: a.b.c
    

    a - основная версия, b - дополнительная версия, c - версия патча.

    символ имея в виду правило
    1.0.0 1.0.0 версия с точным соответствием
    ^1.2.3 1.2.3 <= version < 2.0.0 Обновление первой ненулевой цифры (слева направо) не допускается.
    ^0.1.2 0.1.2 <= version < 0.2.0 То же
    ^1.0.0 1.0.0 <= version < 2.0.0 То же
    ~1.2.3 1.2.3 <= version < 1.3.0 Обновлять только версии исправлений, а не минорные версии
    ~1.0.0 1.0.0 <= version < 2.0.0 Второстепенная версия не указана, что позволяет обновлять второстепенные версии.
    =1.0.0 1.0.0 <= version Меньше или равно текущей версии
    latest Получить последнюю версию Используйте последнюю версию
    1. Как заблокировать версию пакета
    • npm i --save-exact/-E
      Действительно только для пакетов в package.json
    • Номер версии, объявленный в зависимости, не подписан
      Действительно только для пакетов в package.json
    • npm-shrinkwrap
      Создать заблокированный файл дерева зависимостей
    • Используйте пряжу вместо npm
      пряжа автоматически генерирует файл пряжи-блокировки

Суммировать

В этой статье упоминается пряжа, давайте посмотрим на разницу между пряжей и npm позже. Front-end разработка не сложная, но сложность в том, что вы не можете придерживаться ее, не отступайте перед трудностями, капля воды может проникнуть в камень. Обратите внимание на мисс, давайте учиться вместе.