...

четверг, 19 декабря 2013 г.

[Из песочницы] Несколько полезностей по работе с NPM

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




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




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


































КлючСокращение
installi
uninstallr
configc
updateup
listls
--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. Я здесь новичок, если карму минусуете, то хоть пишите, что не так


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий