NPM. Установка модулей. Определение команд

Ошибка msb3073 выход из команды npm run build prod с кодом 1

NPM. Package. json. Установка модулей. Определение команд¶

Кроме встроенных и кастомных модулей Node. js существует огромный пласт различных библиотек и фреймворков, разнообразных утилит, которые создаются сторонними производителями и которые также можно использовать в проекте, например, express, grunt, gulp и так далее. И они тоже нам доступны в рамках Node. js. Чтобы удобнее было работать со всеми сторонними решениями, они распространяются в виде пакетов. Пакет по сути представляет набор функциональностей.

Для автоматизации установки и обновления пакетов, как правило, применяются систему управления пакетами или менеджеры. Непосредственно в Node. js для этой цели используется пакетный менеджер NPM (Node Package Manager). NPM по умолчанию устанавливается вместе с Node. js, поэтому ничего доустанавливать не требуется. Но можно обновить установленную версию до самой последней. Для этого в командной строке/терминале надо запустить следующую команду:

Для нас менеджер npm важен в том плане, что с его помощью легко управлять пакетами. К примеру, создадим на жестком диске новую папку modulesapp (В моем случае папка будет находиться по пути C:\node\modulesapp ).

2.4.png

Далее определим файл простейшего сервера. Для этого в корневую папку проекта modulesapp добавим новый файл app. js :

Запустим сервер командой node app. js :

2.5.png

И в адресной строке браузера введем адрес https://localhost:3000/ :

2.6.png

Файл package. json¶

Теперь снова добавим express с помощью следующей команды:

2.7.png

Эта команда возьмет определение всех пакетов из секций dependencies и загрузит их в проект.

devDependencies¶

Удаление пакетов¶

Семантическое версионирование¶

Команды npm¶

NPM позволяет определять в файле package. json команды, которые выполняют определенные действия. Например, определим следующий файл app. js :

В данном случае мы получаем переданные при запуске приложению параметры.

И определим следующий файл package. json :

Например, для запуска команды start

Команды с остальными названия, как например, dev в вышеопределенном файле, запускаются так:

Что такое npm? Гайд по Node Package Manager для начинающих

Как установить, опубликовать и проверить JavaScript-пакеты на уязвимость с помощью npm – менеджера пакетов Node. js, рассказал сайт proglib. io в своем переводе статьи «What is npm? A Node Package Manager Tutorial for Beginners».

Программная платформа Node. js появилась в 2009 г., и с тех пор на ней были построены сотни тысяч приложений. Одной из причин успеха стал npm – популярный пакетный менеджер, позволяющий JS-разработчикам быстро делиться пакетами.

На момент написания статьи в npm содержится 1.3 млн пакетов с общим количеством скачиваний 16 млрд.

1. Что такое npm?

npm (Node Package Manager) – дефолтный пакетный менеджер для JavaScript, работающий на Node. js. Менеджер npm состоит из двух частей:

Структуру репозитория npmjs. com можно представить, как центр исполнения заказов, который получает товары (npm-пакеты) от продавцов (авторы пакетов) и распространяет эти товары среди покупателей (пользователи пакетов).

В центре исполнения заказов (npmjs. com) в качестве персональных менеджеров для каждого покупателя работает армия вомбатов ( npm CLI ).

Зависимости поставляются следующим образом (Рис. 1).

Рис. 1. Процесс установки пакета через npm install

Процесс размещения пакета выглядит, как показано на Рис. 2.

Рис. 2. Процесс размещения пакета через npm publish

Теперь детально рассмотрим работу вомбатов.

1.1. Файл package. json

package. json можно представить, как стикеры (список пакетов нужных версий) на npm-коробке (проект). Файл генерируется командой npm init при создании JavaScript/Node. js проекта со следующими метаданными:

1.2. Скрипты npm

В package. json включено поле scripts для автоматизации сборки, например:

1.3. dependencies и devDependencies

dependencies и devdependencies представляют собой словари с именами npm-библиотек (ключ) и их семантические версии (значение). Пример из шаблона TypeScript Action:

1.4. Файл package-lock. json

Файл package-lock. json описывает версии пакетов, используемые в JavaScript-проекте. Если package. json включает общее описание зависимостей (название товара), то package-lock. json более детальный – всё дерево зависимостей.

2. Установка пакетов

Так как пользователи чаще скачивают пакеты (16 млрд скачиваний против 13 млн публикаций), хорошо бы разобраться, как их устанавливать.

2.1. npm install

npm install – команда, устанавливающая пакеты.

npm сделал установку пакетов JavaScript настолько простой, что команда часто используется некорректно и в сообществе разрабов появились мемы на эту тему:

Рис. 3. Мем про node_modules

2.2. npm ci

2.3. npm audit

Пример аудита для пакета static-eval

Если исправления доступны в следующих версиях пакета, npm audit fix автоматически обновит версии затронутых зависимостей.

3. Размещение пакетов

Перейдем от потребления пакетов к их размещению.

3.1. npm publish

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

Источники:

https://nodejsdev. ru/guide/npm/

https://techrocks. ru/2020/07/22/node-package-manager-tutorial/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: