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
-
- Когда NPM я устанавливаю зависимости, используются разные параметры, а в местах, где добавляются зависимости, разные:
dependencies devDependencies npm i xx npm i xx --save-dev
- Когда NPM я устанавливаю зависимости, используются разные параметры, а в местах, где добавляются зависимости, разные:
-
- Какие зависимости устанавливаются при выполнении NPM i? При выполнении NPM i вы установите все зависимости в Dependencies и DevDependencies.
-
- Зачем вам package-lock.json, если вы объявили зависимости в package.json?
- Package.json объявляет версию только некоторых пакетов, а не всех пакетов.
- Помимо исправления большой версии пакета зависимостей, нам также необходимо исправить зависимости зависимостей.
-
- Значение символа до версии Сначала посмотрите на значение номера версии:
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 Получить последнюю версию Используйте последнюю версию -
- Как заблокировать версию пакета
- npm i --save-exact/-E
Действительно только для пакетов в package.json - Номер версии, объявленный в зависимости, не подписан
Действительно только для пакетов в package.json - npm-shrinkwrap
Создать заблокированный файл дерева зависимостей - Используйте пряжу вместо npm
пряжа автоматически генерирует файл пряжи-блокировки
Суммировать
В этой статье упоминается пряжа, давайте посмотрим на разницу между пряжей и npm позже. Front-end разработка не сложная, но сложность в том, что вы не можете придерживаться ее, не отступайте перед трудностями, капля воды может проникнуть в камень. Обратите внимание на мисс, давайте учиться вместе.