В данной статье речь пойдет о менеджерах пакетов. Мы разберемся в том, что такое NPM и Yarn, узнаем, зачем нужны менеджеры пакетов и есть ли альтернативные способы загрузить внешние скрипты в приложение.
Существует очень много вспомогательных библиотек и приложений. Чтобы взять стороннюю библиотеку и использовать у себя, вам нужно ее импортировать.
html
через тег script
или link
и указать путь к файлу. script
/link
соответственно, только указываем ссылку на библиотеку в хранилище CDN вместо локального пути. Для работы такого скрипта потребуется доступ к интернету. Менеджеры пакетов - это хранилище пакетов (модулей), с помощью которого вы можете установить модуль себе в проект. В пакете содержиться файл инструкция
package.json
, а также необходимый для работы библиотеки код.
Дисклеймер. В данной статье я не буду подробно описывать команды для использования менеджеров пакетов, а лишь затрону основные из них. Подробный гайд по командам будет вынесен в отдельную статью.
Они выполняют одну и ту же функцию - загружают пакеты в приложение. Я выбрал Yarn, потому что на тот момент он работал быстрее, но сейчас NPM догнал его по скорости. Таким образом, вопрос о том, что бы выбрать - это скорее дело личного предпочтения и привычки.
node --version
для проверки nodejs и npm --version
для проверк npm. Если все установлено верно, то вы увидите версию установленного node и npm. npm install npm@latest -g
(Опционально). Флаг -g (длинная версия --global) означает global - установку пакета на компьютер в целом, а не локально в директорию проекта.
yarn --version
. В качестве консоли я использую встроенный терминал VSCode - View->Terminal и conemu
В 2019 GitHub запускает свой менеджер пакетов, который может стать очень популярным. Стоит обратить на него внимание.
npm init
или yarn init
для того чтобы инициализировать менеджер пакетов в своей корневой директории. package.json
и в случае установки любого пакета - папка с кодом node_modules
(устанавливаемые пакеты регистрируются в файле package.json
в зависимостях (dependencies) или зависимостях разработчика (devDependencies), это зависит от типа установки.npm install [название пакета]
или yarn add [название пакета]
для того чтобы установить модуль (например lodash - yarn add lodash
). EcmaScript 5 (JavaScript) старая версия импорта (без использования сборщика проектов)
const _ = require("lodash");
console.log(_.isString("строка")); // true
EcmaScript 6 новый способ импорта (если используется сборщик проектов вроде Webpack)
import _ from "lodash"
console.log(_.isString(5)); // false
Поначалу может показаться,что все это только усложняет работу, что проще импортировать нужный файл тегом script в html
файле. Но на стороне менеджеров пакетов есть пара очень весомых преимуществ:
Поняв принцип работы менеджеров пакетов и изучив основные команды, вы сможете добавлять, удалять и обновлять библиотеки в своем проекте одной командой!