dir.by  
  Поиск  
Программирование, разработка, тестирование
Node.js (это web сервер исполняющий js файлы)
npm в Node.js
Файл package-lock.json в Node.js
  Посмотрели 5994 раз(а)    
 Файл package-lock.json в Node.js 
последнее обновление: 23 июля 2020
Файл package-lock.json обновляется, когда мы вызываем npm install или npm install имя_пакета.
То есть файл package-lock.json обновляется при установке Node.js пакетов.
 
Файл package-lock.json используется с момента появления npm версии 5. Он создаётся
автоматически при установке Node.js-пакетов. Что это за файл? Возможно, вы не знакомы с ним даже
если знали о package.json, который существует гораздо дольше него.

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

Файл package-lock.json решает весьма специфическую проблему, которая не решается средствами package.json.

В package.json можно указать, какие обновления некоего пакета вам подходят (патч-версии или
минорные версии) с использованием вышеописанных спецификаторов версий.

В Git не коммитят папку node_modules, так как обычно она имеет огромные размеры.
Когда вы пытаетесь воссоздать проект на другом компьютере, то использование команды npm install
приведёт к тому, что, если, при использовании спецификатора ~ в применении к версии некоего пакета,
вышел его патч-релиз, установлен будет не тот пакет, который использовался при разработке, а
именно этот патч-релиз. То же самое касается и спецификатора ^. Если же при указании версии пакета
спецификаторы не использовались, то будет установлена именно его указанная версия и проблема, о
которой идёт речь, окажется в такой ситуации неактуальной.

Итак, кто-то пытается инициализировать проект, пользуясь командой npm install. При выходе новых
версий пакетов окажется, что этот проект отличается от исходного. Даже если, следуя правилам
семантического версионирования, минорные релизы и патч-релизы не должны содержать в себе
изменений, препятствующих обратной совместимости, все мы знаем, что ошибки способны проникать
(и проникают) куда угодно.

Файл package-lock.json хранит в неизменном виде сведения о версии каждого установленного
пакета и npm будет использовать именно эти версии пакетов при выполнении команды npm install.
Эта концепция не нова, менеджеры пакетов, применяемые в других языках программирования (вроде
менеджера Composer в Python) используют похожую систему многие годы.

Файл package-lock.json нужно отправить в Git-репозиторий, что позволит другим людям скачать
его в том случае, если проект является общедоступным, или тогда, когда его разработкой занимается
команда программистов, или если вы используете Git для развёртывания проекта.

Версии зависимостей будут обновлены в package-lock.json после выполнения команды npm
update
.
 
← Предыдущая тема
Разница между тильдой(~) и крышкой(^) в package.json | Node.js
 
Следующая тема →
"npm init" | Результат: создает пустой файл package.json и заполняет этот файл данными по умолчанию | Node.js
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Что такое Node.js ?
Как узнать версию Node.js ?
Установка Node.js (скачиваем и устанавливаем для Windows)
Как обновить версию Node.js (установить последнюю версию) ?
npm в Node.js
Что такое npm в Node.js?
Как узнать версию npm (Node.js) ?
Как обновить версию npm (установить последнюю версию) ? | Node.js
Файл package.json в Node.js
Разница между тильдой(~) и крышкой(^) в package.json | Node.js
Файл package-lock.json в Node.js
"npm init" | Результат: создает пустой файл package.json и заполняет этот файл данными по умолчанию | Node.js
"npm install имя_пакета" | Результат: устанавливает JavaScript библиотеку (пакет) | Например выполняем в командной строке "npm install jquery" | добавит jQuery библиотку в папку node_modules | Node.js
"npm install" | Результат: устанавливает JavaScript библиотеки (пакеты) которые указаны в файле package.json | Node.js
"npm list -g" (посмотреть список всех установленных глобальных пакетов) | Node.js
"npm install -g имя_пакета" (глобальная установка пакета) | Node.js
"npm uninstall -g имя_пакета" (глобальное удаление пакета) | Node.js
Выполняем в командной строке "npm run EvgenConvertCSS" | Файл package.json вот такой: "scripts": {"EvgenConvertCSS": "node-sass --include-path scss 1.scss 1.css"} | Node.js
Выполняем в командной строке "npm run EvgenMyCommand" | Файл package.json вот такой: "scripts": {"EvgenMyCommand": "mkdir AAA"} | Node.js
Выполняем в командной строке "npm run MyScript1" | Файл package.json вот такой: "scripts": {"MyScript1": "npm run MyScript2"} | Node.js
watch опция в npm скриптах (наблюдаем за изменениями в файлах)
Отладка NodeJS
Отладка Node.js. Смотрим значения переменных, стэк функций, breakpoints в Visual Studio Code
Пишем Node.js приложение в текстовом редакторе (Notepad, Far)
Новое Node.js приложение (создаем приложение в текстовом редакторе, запуск в console)
Добавляем express пакет в Node.js (в Windows console)
Загрузка html файла и вывод на экран в Node.js (создаем приложение в текстовом редакторе, запуск в console)
Используем модуль socket.io
Простое приложение с socket.io в Node.js (создаем приложение в текстовом редакторе, запуск в console)
Пишем Node.js проект в Visual Studio Code
Новый Node.js проект (проект создаем в Visual Studio Code)
Создаем новый Node.js проект с websocket (проект создаем в Visual Studio Code) | client & server
Пишем Node.js проект в Visual Studio
Новый Node.js проект (проект создаем в Visual Studio)
Добавляем express пакет в Node.js (в Visual Studio)
Загрузка html файла и вывод на экран в Node.js (проект в Visual Studio)
Chat (пользователь пишет сообщение и у других появляется сообщение) используя socket.io в Node.js (проект в Visual Studio)
https localhost certificate
Create https localhost certificate for nodejs
Как устроены модули в Node.js (require, exports)
Что такое модули в Node.js ?
Как устроена внутри функция require и что происходит когда пишем require("Имя_Модуля") в Node.js
Создаем свой модуль в Node.js
Пишем и подключаем свой модуль в Node.js
Встроенные модули Node.js
'Express' модуль Node.js !!!!!!!!!!!!
Хостинг Node.js на вашем сайте
Хостинг и установка Node.js на вашем сайте. Настройка Node.js в cPanel
В Node.js меняю js файл а отображается старый кэшированный js файл. Перезапустить Node.js на вашем сайте в cPanel
Добавляем npm пакеты в Node.js на вашем сайте (используем cPanel)
Error during WebSocket handshake... Хостинг Node.js на вашем сайте
Heroku.com бесплатный сервис. Запуск вашего Node.js приложения на Heroku.com
Для использования Heroku.com нужно установить: Git, Node.js
Регистрация на сайте Heroku.com
Инсталяция коммандной строки "Heroku CLI"
"Heroku CLI" работает очень медленно для Windows
Запуск вашего Node.js приложения на Heroku.com
WWW сайты для изучения Node.js
Сайты для изучения Node.js

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика