Руководство для начинающих по диспетчеру пакетов NPM в 2022 году

Руководство для начинающих по диспетчеру пакетов NPM в 2022 году

12 мая 2022 г.

В этом руководстве мы узнаем все о NPM, сценариях и пакетах npm, а также о последних пакетах npm для разработчиков, чтобы они стали более продуктивными разработчиками.


С момента создания Node.js он распространяется по всему миру. Node.js использовался для создания сотен тысяч систем, что побудило сообщество разработчиков заявить, что JavaScript съедает программное обеспечение.


Популярный менеджер пакетов npm, который позволяет разработчикам JavaScript делиться полезными пакетами, является одной из основных причин успеха Node.


Ежедневно с помощью npm устанавливаются миллионы пакетов, но мы, новички, часто не знаем, что такое NPM и как его использовать? Вот почему я пишу это руководство.


Что такое НПМ?


Эффективное использование npm является краеугольным камнем современной онлайн-разработки для повышения производительности труда разработчиков, будь то исключительно для Node.js, в качестве менеджера пакетов или инструментов для создания внешнего интерфейса или как часть процессов на других языках и платформах.


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


НПМ состоит из двух частей:


  1. Онлайн-репозиторий для пакетов JavaScript.

  1. Приложение CLI (интерфейс командной строки) для установки пакетов.

Как зависимости NPM доставляются разработчикам?


В центре выполнения npmjs.com работает армия выделенных серверов, которые будут назначены в качестве личных помощников каждому клиенту npmjs.com, чтобы помочь в этом процессе.


В результате зависимости предоставляются разработчикам JavaScript в следующем формате:


NPM доставляет пакеты разработчикам JavaScript


Процедура публикации пакета для ваших друзей JS будет следующей:


Разработчики публикуют новые пакеты NPM


Вот почему NPM быстро доставляет нужные пакеты разработчикам JavaScript.


Руководство по package.json


Файл package.json — это манифест вашего проекта, который включает информацию о пакетах и ​​приложениях, от которых он зависит, а также специальные метаданные, такие как имя проекта, описание и автора.


Файл package.json можно рассматривать как паспорт со всей информацией о пользователе. Этот файл также отправляется разработчику вместе с пакетом NPM.


Когда npm init используется для запуска проекта JavaScript или Node.js, вместе с ним создается package.json.


Метаданные Package.json


Будь то веб-приложение, модуль Node.js или простая библиотека JavaScript, вы почти всегда найдете метаданные, относящиеся к проекту, внутри package.json.


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


В package.json есть несколько типов метаданных:


  1. name: имя пакета, выбранное автором.

  1. версия: Версия отображает версию используемого вами пакета. Изначально отображается как 1.0.0.

  1. description: Описание содержит описание пакета, написанное автором.

  1. лицензия: Лицензия проекта хранится в лицензионных данных пакета.

Если вы посетите свой package.json, вы увидите всю информацию о пакете, эти данные отображаются как:


```javascript


"name": "Разработчик Полдень",


"версия": "1.0.0",


"description": "Учебники №1 по программированию


"основной": "index.js"


"лицензия": "MIT"


Как редактировать файл package.json?


Чтобы обновить файл package.json, вам просто нужно перейти к файлу в редакторе кода, предпочтительно Visual Studio Code, и изменить имя, описание, версию и лицензию. После этого вы можете отправить свой пакет.


dependencies и devDependencies в package.json


Флаги -save и -save-dev в команде npm install используются для установки зависимостей. Они предназначены для использования как в производственной среде, так и в среде разработки и тестирования.


При этом важно понимать возможные признаки, предшествующие смысловым версиям:


  • ^: самый последний второстепенный выпуск Если версия 1.3.0 является самой последней второстепенной версией 1 основной серии, ее может установить спецификация ^1.0.4.

  • ~: спецификация самого последнего выпуска патча ~1.0.4 может установить версию 1.0.7, если это самая последняя второстепенная версия второстепенной серии 1.0, точно так же, как ^ для второстепенных выпусков. .

Обучение на примерах всегда лучший способ учиться. Давайте перейдем к некоторым примерам зависимостей и devDependencies.


Вот пример «зависимостей», которые вы найдете в любом пакете:


```javascript


"зависимости": {


"@actions/ядро": "^1.2.3",


"@actions/github": "^2.1.1


Вот почему вы найдете зависимости в файле package.json.


Теперь давайте посмотрим, как выглядит файл devDependencies в вашем пакете:


```javascript


"devDependencies": {


"@types/jest": "^25.1.4",


"@типы/узел": "^13.9.0",


"@typescript-eslint/parser": "^2.22.0",


"@zeit/ncc": "^0.21.1",


"эслинт": "^6.8.0",


"eslint-plugin-github": "^3.4.1",


"eslint-plugin-jest": "^23.8.2",


"шутка": "^25.1.0",


"шутка-цирк": "^25.1.0",


"js-yaml": "^3.13.1",


"красивее": "^ 1.19.1",


"ts-jest": "^25.2.1",


"машинопись": "^ 3.8.3"


Существует существенное различие между зависимостями и другими общими компонентами пакета. Разница между зависимостями и package.json заключается в том, что они оба являются объектами с несколькими парами ключ-значение.


Каждое значение как в dependencies, так и в devDependencies представляет собой диапазон версий, приемлемый для установки, а каждый ключ — это имя пакета.


Что такое package-lock.json?


Точные версии зависимостей, используемых в проекте JavaScript на основе npm, описаны в этом файле. «Package-lock.json» — это таблица ингредиентов, тогда как «package.json» — это общая описательная метка.


Package-lock.json похож на то, как мы обычно не читаем таблицу ингредиентов продукта.


Разработчики не должны читать файл package-lock.json построчно.


Команда npm install генерирует package-lock.json, который также считывается нашим инструментом NPM CLI, чтобы убедиться, что среды сборки для проекта реплицированы с помощью npm ci.


Знакомство с основными командами NPM


Существует множество команд npm, которые помогают разработчикам. Некоторые из наиболее важных, в основном «npm install», «npm ci» и «npm audit», если быть точным:


1. npm install


npm install <package-name> по умолчанию установит самую последнюю версию пакета со знаком версии. В контексте проекта npm npm install будет загружать пакеты в папку модулей узла проекта в соответствии со спецификациями package.json, обновляя версии пакетов, где это возможно, на основе соответствия версий.


Если вы хотите установить пакет в глобальном контексте, который вы можете использовать в любом месте на вашем компьютере, вы можете использовать глобальный флаг -g.


Поскольку npm упростил установку пакетов JavaScript, эта команда часто используется неправильно.


2. npm


Итак, если npm install —production лучше всего подходит для производственной среды, существует ли команда, которая лучше всего подходит для моей локальной среды разработки и тестирования?


npm ci - это путь.


Подобно тому, как package-lock.json создается всякий раз, когда вызывается npm install, если он еще не существует в проекте, npm ci использует этот файл для загрузки точной версии каждого отдельного пакета, от которого зависит проект. на.


Именно так мы гарантируем, что контекст нашего проекта остается согласованным на всех машинах, будь то наши ноутбуки для разработки или среды сборки CI, такие как GitHub Actions.


3. аудит npm


Пакеты NPM уязвимы для недобросовестных авторов со злыми намерениями из-за большого количества пакетов, которые были опубликованы и могут быть легко установлены.


Организация npm.js пришла к идее «аудита npm», заметив проблему в экосистеме. Они отслеживают бреши в безопасности, которые разработчики могут проверить на наличие своих зависимостей с помощью команды npm audit.


npm audit информирует разработчиков об уязвимостях и наличии версий с исправлениями для установки.


npm fund — одна из самых важных функций для разработчиков, которые публикуют свой собственный пакет npm.


Как мгновенно инициализировать проект npm?


Вы можете использовать флаг --yes в команде npm init для автоматического заполнения всех параметров значениями npm init по умолчанию, если вы хотите продолжить создание своего проекта и не хотите тратить время на ответы на вопросы. подсказки от npm init.


Вы можете просто использовать эту команду для мгновенной инициализации вашего проекта npm:


инициализация npm --да


Как установить модули с помощью npm install?


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


Когда вы узнаете больше об установке модулей, вы заметите некоторые различия, но вот суть того, что вам нужно знать, чтобы установить автономный модуль в текущий каталог:


npm установить <модуль>


Замените <module> на имя модуля, который вы хотите установить в приведенной выше команде.


Вывод


Это руководство поможет вам начать работу с NPM, а также некоторые полезные команды, которые новички должны знать перед началом работы.


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


Спасибо за чтение! Подпишитесь на нашу рассылку.



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE