Node.js: установка и основы
Node.js — это среда выполнения JavaScript, которая выполняет код JavaScript вне веб-браузера. Это позволяет нам устанавливать пакеты, запускать локальные веб-серверы, создавать API и многое другое.
Требования:
- WSL/macOS/Linux
- cURL или Wget
🎛 НВМ
Скорее всего, вам придется переключаться между несколькими версиями Node.js в зависимости от потребностей различных проектов, над которыми вы работаете. Node Version Manager позволяет быстро устанавливать и использовать различные версии Node через командную строку.
Установка энергонезависимой памяти
- Откройте терминал и установите NVM с помощью curl или wget:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Для проверки установки введите: command -v nvm
. Это должно вернуть nvm
, если вы получите command not found
ответ или вообще не получите его, закройте текущий терминал, снова откройте его и повторите попытку.
- Укажите, какие версии Node установлены в данный момент (на данный момент их не должно быть):
nvm ls
- Установите текущую и стабильную LTS-версии Node.js.
Установите текущую стабильную LTS-версию Node.js (рекомендуется для рабочих приложений):
nvm install --lts
Установите текущую версию Node.js (для тестирования последних функций и улучшений Node.js, но с большей вероятностью возникновения проблем):
nvm install node
- Перечислите, какие версии Node установлены:
nvm ls
Теперь вы должны увидеть в списке две версии, которые вы только что установили.
- Убедитесь, что Node.js установлен и текущая версия:
node --version
Затем убедитесь, что у вас также установлен NPM:
npm --version
Изменение версии узла
Используйте следующие команды, чтобы изменить версию Node, которую вы хотите использовать для любого проекта:
Переключиться на текущую версию:
nvm use node
Переключитесь на LTS-версию:
nvm use --lts
Вы также можете использовать определенный номер для любых дополнительных версий, которые вы установили:
nvm use v8.2.1
Чтобы просмотреть все доступные версии Node.js, используйте команду: nvm ls-remote
.
📦 NPM
Диспетчер пакетов Node — это менеджер пакетов по умолчанию для Node.js. Это инструмент командной строки, используемый для загрузки или публикации пакетов и управления зависимостями проекта. Существует доступный для поиска репозиторий всех доступных пакетов NPM по адресу https://www.npmjs.com/.
Новые проекты
При создании нового проекта, который будет использовать NPM, его необходимо инициализировать с помощью init
команды. Сначала убедитесь, что вы находитесь в корневом каталоге вашего проекта, а затем используйте следующую команду:
npm init
package.json
npm init
создаст package.json
файл и запросит у вас метаданные вашего проекта. Сюда входят такие вещи, как имя, версия, описание и лицензия. Вы можете думать об этом как о плане вашего проекта, поскольку он также будет содержать пакеты, от которых он зависит. Метаданные можно изменить в любое время, отредактировав package.json
файл после инициализации.
Если вы хотите автоматически заполнить инициализацию всеми значениями по умолчанию, вы можете добавить --yes
флаг.
npm init --yes
Установка модулей
Модули устанавливаются с помощью команды npm install
или npm i
.
npm install react
Приведенная выше команда установит модуль React как зависимость в файле package.json
.
Мы также можем установить пакеты NPM глобально в нашей системе. Это полезно для таких утилит, как интерфейсы командной строки.
Yarn — еще один широко используемый менеджер пакетов узлов, если мы хотим использовать его во всех наших проектах узлов, нам понадобится флаг --global
или -g
.
npm install --global yarn
Зависимости
Вы можете сохранить модуль как зависимость или зависимость разработчика.
Зависимость — это то, без чего ваш проект не может нормально функционировать.
Раньше этот --save
флаг был необходим для установки модулей в качестве зависимости, но теперь это делается автоматически с помощью install
команды.
npm install --save gray-matter
Такой же как:
npm install gray-matter
Зависимости разработчиков
Зависимостью разработчика будут модули, используемые для сборки проекта, а не для его запуска. Сюда входят такие вещи, как линтеры и инструменты тестирования.
Зависимости разработчика добавляются с флагом --save-dev
или -D
. Это добавляет модуль в devDependencies
раздел package.json
npm install --save-dev husky
Пакетная установка
Помимо установки одного модуля, вы можете установить все модули, указанные как dependencies
и devDependencies
:
npm install
Это установит все модули, перечисленные в package.json
вашем текущем каталоге.
Если мы хотим установить только зависимости, необходимые для запуска нашего проекта, используется --production
флаг:
npm install --production
флаг --production
будет устанавливать только модули из dependencies
раздела package.json
и игнорировать файлы devDependencies
. Преимущество этого заключается в заметном уменьшении размера node_modules
папки.
Удаление
Удаление модулей работает так же, как и их установка. Флаги необходимо будет использовать для любых глобальных зависимостей или зависимостей разработчика.
Зависимости:
npm uninstall react
Зависимости разработчиков:
npm uninstall --save-dev husky
Глобальные установки:
npm uninstall --global yarn
Версии
Версии пакетов идентифицируются с основными, второстепенными выпусками и выпусками исправлений. 8.1.1
будет основная версия 8, дополнительная версия 1 и версия исправления 1.
Вы можете указать точный номер версии с помощью @
символа.
npm install react@17.0.1
Еще два символа, которые мы можем использовать, это ^
и ~
.
^
является последним второстепенным выпуском.
Например, npm install ^8.1.1
спецификация может установить версию 8.3.1
, если это последняя дополнительная версия.
~
является последним выпуском исправления.
Так же, как и второстепенные выпуски, npm install ~8.1.1
можно установить версию 8.1.6
, если это последняя доступная версия исправления.
При использовании команды npm install
или npm i
будет использоваться последняя дополнительная версия.
package-lock.json
Точные версии пакетов будут задокументированы в сгенерированном package-lock.json
файле.
Значения, найденные внутри объектов и dependencies
файла , включают диапазон допустимых версий каждого пакета для установки devDependencies package.json
.
package-lock.json
создается npm install
командой и содержит точные версии используемых зависимостей.
Скрипты
package.json
также содержит scripts
свойство, которое можно определить для запуска инструментов командной строки, установленных в текущем проекте. Это может включать такие вещи, как запуск тестов, форматирование кода и запуск локального сервера.
Скрипты NPM запускаются с помощью run
команды. С приведенной выше конфигурацией вы должны использовать следующую команду для более красивого форматирования кода:
npm run format
Ключи в объекте scripts — это имена команд, а значения — это фактические команды.