Мы все знаем, насколько важен реестр npm для веб-разработки. В этом блоге мы рассмотрим, как мы можем создавать наши собственные пакеты npm и публиковать их в реестре npm, чтобы каждый мог использовать вашу замечательную работу.
Есть несколько требований, которые необходимо учитывать перед началом работы над этим проектом. Вы хотите иметь учетную запись npm и учетную запись github. В вашей локальной установке вы хотите установить npm и node. Как только это будет сделано, мы можем продолжить обучение.
Создайте новый репозиторий с правильным именем пакета, который вы хотите создать и опубликовать в npm. Как только это будет сделано, скопируйте URL-адрес ssh из этого репо. Нам это понадобится через некоторое время.
На локальном компьютере откройте пустой каталог и выполните следующую команду:
После запуска вышеуказанной команды вам будет предложено несколько конфигураций, убедитесь, что вы ввели все свойства, которые лучше всего подходят для вашего варианта использования. Когда вам будет предложено ввести URL-адрес git, вы хотите вставить URL-адрес ssh, который мы скопировали ранее. Когда все будет готово, npm сгенерирует файл package.json в вашем каталоге.
Пока мы находимся на грани работы с терминалом, мы установим jest как зависимость от разработчиков. Выполните следующую команду:
Jest — это тестовая библиотека, которую мы будем использовать для написания модульных тестов для нашего пакета. Теперь в файле package.json измените значение скрипта test на следующее:
Это гарантирует, что каждый раз, когда мы запускаем npm run test, jest будет пытаться найти все файлы с расширением .test.js в нашем каталоге и выполнить их. Мы передаем флаг покрытия, чтобы отслеживать покрытие тестами в наших отдельных файлах.
Создайте файл с именем index.js в корневом каталоге и поместите туда следующий код:
В index.js у нас есть простая функция, которая принимает массив в качестве аргумента, и с помощью функции сокращения из JavaScript мы суммируем элементы в переданном массиве. Как только это будет сделано, мы просто экспортируем нашу функцию.
Создайте файл в корневом каталоге с именем array.test.js. Мы напишем наш модульный тест для функции, которую мы создали в файле index.js. Поместите следующий код, не волнуйтесь, я объясню, что здесь происходит:
В тестовом файле мы просто импортируем созданную ранее функцию. Чтобы написать модульные тесты на jest, мы можем использовать ключевое слово test. Внутри этого мы можем передать два аргумента: сначала это описательная строка, которая сообщает, что мы собираемся делать в этом тесте, а второй аргумент — это функция обратного вызова. Мы используем ключевое слово expect, когда мы вызываем нашу функцию arraySum с нашим предопределенным массивом. Мы ожидаем, что сумма будет равна 6. Если это так, то наш тест пройден.
Итак, мы закончили писать модульный тест, давайте его протестируем. В терминале выполните следующую команду:
Поздравляем, вы успешно протестировали свой пакет. Ура!!!
Теперь мы протестировали наш пакет с помощью Jest, следующий шаг — проверить, может ли этот пакет быть доступен за пределами каталога, в котором вы находитесь, с помощью npm. Для этого откройте любые другие проекты, в которых инициализирован npm. В каталоге, где мы создали наш пакет, выполните следующую команду:
Это создаст глобальную ссылку, которая теперь будет доступна для всех потребителей на нашей машине. Теперь вернитесь ко второму проекту и выполните следующую команду:
Если вы не уверены в имени пакета, перейдите к файлу package.json и проверьте там свойство имени. Он создаст папку node_modules с только что созданным пакетом. Теперь вы можете использовать обычный синтаксис импорта, чтобы использовать функцию arraySum и в других проектах.
Теперь, когда мы проверили все наши контрольные списки, пришло время опубликовать наш пакет.
В каталоге, где вы создали пакет, выполните следующую команду:
Введите правильное имя пользователя и учетные данные, соответствующие вашей учетной записи npm. Как только все будет сделано правильно, вы должны увидеть сообщение об успешном входе в систему. Выполните следующую команду, чтобы опубликовать свой пакет:
Теперь, если приведенная выше команда выполнена успешно, ваш пакет должен быть доступен на веб-сайте npm.
Если при публикации пакета возникает проблема, причина может заключаться в том, что имя вашего пакета конфликтует с существующим пакетом в npm. Возможно, вы захотите изменить имя пакета, если это так.
Поздравляем!!! Вы только что опубликовали свой пакет на npm, где миллионы людей могут извлечь пользу из вашего творчества.
Если вы найдете этот блог полезным, пожалуйста, следуйте за мной, чтобы получить больше блогов, подобных этому. Буду признателен за отзывы, если они у вас есть.
Полный исходный код можно найти здесь. Дайте ему звезду, если это было полезно для вас.
У меня есть учебник на YouTube, подробно объясняющий то же самое: