NPM означает диспетчер пакетов узла. Как следует из названия, это менеджер пакетов для Javascript. Он предустановлен вместе с NodeJS, и нам не нужно его явно настраивать. Кроме того, нам не нужен опыт работы с NodeJS, чтобы начать работать с NPM.

NPM имеет реестр, в котором содержатся все различные библиотеки JS, опубликованные со всего мира. Затем мы просто просим NPM получить нашу необходимую библиотеку JS из своего реестра и сохранить ее в нашей системе, локально или глобально (подробнее об этом позже).

Кроме того, вы, должно быть, слышали такие слова, как пакеты или модули, но это одно и то же, относящееся к библиотекам JS, таким как JQuery, Bootstrap и т. Д.

Более того, нам предоставляется CLI (интерфейс командной строки), который помогает взаимодействовать с NPM для установки, обновления и удаления пакетов и управления зависимостями.

В этой статье мы обсудим:

  • Установка NPM
  • файл package.json
  • Различные зависимости среды
  • Глобальные и локальные пакеты
  • Управление версиями модулей
  • Скрипты NPM

Если вы здесь по определенной теме сверху, не стесняйтесь переходить к этой конкретной концепции.

Установка NPM:

Как было сказано ранее, NPM предустановлен вместе с NodeJS. Так что просто перейдите на https://nodejs.org/en/download/ и установите узел.

После установки запустите команду:

npm -v

Если все в порядке, вы увидите вывод, показывающий версию NPM, иначе вы получите сообщение об ошибке «npm command not found».

Файл Package.json:

Этот файл похож на метаданные вашего приложения. Он будет содержать все зависимости (пакеты или модули), которые требуются вашему приложению для успешного запуска.

Кроме того, он является домом для всех сценариев NPM (обсуждаемых позже), которые вы можете создать для запуска или настройки своего приложения.

Итак, как вы его создаете, просто зайдите в папку, в которой вы хотите свое приложение, и выполните команду:

npm init

Это задаст вам кучу вопросов, таких как имя автора, описание (бла-бла-бла), продолжайте нажимать ввод для значений по умолчанию или просто используйте команду

npm init -y 

для настройки всех параметров по умолчанию.

После выполнения этой команды у вас будет файл package.json со всеми установленными по умолчанию свойствами.

Чтобы добавить в приложение требуемый пакет или модуль, введите:

npm install <packageName> --save.

Это установит указанный пакет и добавит запись в package.json в зависимости

После запуска npm install вы увидите папку «node_modules». Эта папка содержит все упомянутые вами пакеты или модули, которые потребуются вашему приложению. В нем также будет куча других вещей, и это потому, что оно включает в себя все транзитивные зависимости, а это означает, что если вашему приложению требуется модуль A, который дополнительно требует модуля B, npm установит оба этих модуля в папку «node_modules».

Различные зависимости среды:

Будет несколько сценариев, в которых вам понадобится конкретная библиотека для ваших локальных целей (например, для тестирования), но в финальной версии эти библиотеки не нужны. Для этого у нас есть Dev-Dependencies. Чтобы добавить зависимость как dev-зависимость, запустите:

npm install <packageName> --save-dev

Вы увидите другое поле с именем «devDependencies» внутри вашего package.json, которое будет содержать ваш указанный пакет.

Чтобы установить зависимости, присутствующие в package.json, просто запустите команду

npm install

Эта команда установит как обычные, так и dev-зависимости.

Чтобы просто установить зависимости, необходимые для производства, запустите его с флагом производства:

npm install --production

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

Глобальные и локальные пакеты:

Будут некоторые модули, которые вам потребуются для каждого вашего приложения. Поэтому вместо того, чтобы устанавливать их снова и снова внутри каждого приложения, мы устанавливаем такие модули глобально.

npm install -g <packageName>

Это установит этот модуль в нашу глобальную папку «node_modules» (используйте команду «npm root -g», чтобы узнать вашу глобальную папку «node_modules»), и нам больше не нужно включать эти модули в наши приложения.

По умолчанию все наши зависимости устанавливаются локально, внутри локальной папки «node_modules», в которой мы запускаем команду, и к этим модулям нельзя получить доступ в другом месте.

Контроль версий пакета:

Каждый раз, когда вы устанавливаете пакет, вы увидите зависимость в package.json как «~ 4.17.1».

У каждого из этих символов есть значение.

Как показано на изображении, последняя цифра означает исправление ошибки, поэтому всякий раз, когда владельцы модулей исправляют ошибку, они увеличивают эту версию и выпускают ее.

Средняя версия - это второстепенная версия, которая похожа на некоторые улучшения по сравнению с текущим выпуском с некоторыми добавленными функциями.

Основная версия - это полностью новая (почти) версия модуля, которая может сломать ваше приложение, если вы переключитесь на последнюю версию.

Также флаги впереди, такие как

^: это установит последнюю минорную версию при запуске npm install.

~: это установит последнюю версию патча (исправления ошибок) при запуске npm install, сохраняя при этом младшую версию.

*: это установит самую последнюю версию модуля.

Чтобы установить точную версию модуля:

npm install <packageName>@x.y.z

Сценарии NPM:

Если вы заглянете в свой файл package.json, вы увидите объект скрипта. Все, что вы добавите в этот json, будет сценарием npm.

Сценарий NPM - это сценарий для автоматизации повторяющейся задачи. Предположим, вы хотите запустить свое приложение с файлом с некоторыми дополнительными аргументами,

просто создайте сценарий запуска в поле «сценарии», например

“scripts”:{
    “start”: “node index.js <additional_args>”
}

и запустите «npm start», чтобы запустить приложение.

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

Вывод:

Итак, мы изучили некоторые основы NPM и различные способы, которыми с ним можно поиграть. Если вы хотите просмотреть различные пакеты, предлагаемые NPM, которые могут удовлетворить ваши требования, вы можете перейти на https://www.npmjs.com/ и выполнить поиск модуля.

Удачи во всех начинаниях.