Несколько полезностей по работе с NPM

в 16:00, , рубрики: javascript, node.js, nodejs, npm, tips, Веб-разработка, метки: , ,

image

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

Все знают

# Устанавливает пакет express
npm install express

Какие варианты еще есть?

# Устанавливает все пакеты, перечисленные в package.json
npm install

# Устанавливает express и вносит запись о нем в packege.json в секцию dependencies
npm install express --save

# Устанавливает grunt и вносит запись о нем в packege.json в секцию devDependencies
npm install grunt --save-dev

Варианты с --save и --save-dev сделают запись в package.json только, если он уже существует.

Чтобы не утруждать себя, каждый раз указывая --save, можно прописать:

# Все - теперь все устанавливаемый пакеты будут автоматом прописываться в package.json
npm config set save true

Кстати, насчет --save

# Кроме того, что все пакеты обновятся, если в package.json в качестве 
# версии была прописана "*" - теперь туда попадут конкретные версии
npm update --save

Сокращенные варианты команд

Для ускорения процесса ввода команд удобно использовать сокращения. Самое полезное в виде таблички:

Ключ Сокращение
install i
uninstall r
config c
update up
list ls
--save -S
--save-dev -D

Пример:

npm install express --save

# Совершенно то же самое

npm i express -S

Подготовка к npm init

Не очень удобно при создании package.json при помощи npm init каждый раз вводить персональные данные. Чтобы этого избежать, сделаем настройку:

# Внесем информацию об авторе "по умолчанию"
npm set init.author.name "$NAME"
npm set init.author.email "$EMAIL"
npm set init.author.url "$SITE"

Вместо переменных среды $NAME и т.д. можно внести и сами данные. Все, теперь мы готовы к npm init

А что еще можно настраивать?

# Выведет список всех возможных настроек
npm config ls -l

Проверить, не устарели ли пакеты

# Бывает полезно сделать прежде чем делать update
npm outdated

Фиксируем версии пакетов

# Все, можно передавать в продакшен
npm shrinkwrap

Прежде чем передавать продукт в промышленную эксплуатацию, по хорошему, нужно указать в package.json точные версии пакетов с которыми все 100% работает. Эта команда так и сделает. После ее выполнения в вашем package.json все версии пакетов будут жестко зафиксированы — больше никаких "*".

Обновление версии NPM

# NPM вполне может обновлять сама себя
npm update npm -g

P.S. Я здесь новичок, если карму минусуете, то хоть пишите, что не так

Автор: tankerme

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js