Node js использование npm

Материал из support.qbpro.ru

Документация по утилите NPM в Node Js


Установка необходимых модулей npm в собственный проект

В папке проекта даем команду:

npm init

Заполняем все необходимые поля. После этого установка npm внутри проекта создаст папаку:

./node_modules

с необходимыми проекту модулями.

11 простых npm трюков, которые вас удивят

1. Открыть домашнюю страницу пакета

Запустите:

npm home $package

Выполнение команды home откроет домашнюю страницу того пакета, напротив которого вы ее запустили. Запуск напротив пакета lodash приведет вас на сайт Lodash. Для запуска этой команды нет необходимости иметь установленный пакет глобально на вашей машине или внутри текущего проекта.

2. Открыть GitHub репозиторий пакета

Запустите:

npm repo $package

Аналогично home, команда repo откроет GitHub репозиторий того пакета, напротив которого вы ее запустили. Запуск напротив пакета express приведет вас на официальный репозиторий Express. Так же как и для home, вам не нужно иметь установленный пакет.

3. Проверить пакет на устаревшие зависимости

Запустите:

npm outdated

Вы можете выполнить команду outdated внутри проекта, и она проверит npm реестр, чтобы узнать, устарел ли какой-либо из ваших пакетов. В командную строку будет выведен список: текущей версии, требуемой версии и последней версии.

4. Проверить пакеты, необъявленные в package.json

Запустите:

npm prune

При выполнении prune, npm CLI пройдет через ваш package.json и сравнит его с директорией /node_modules вашего проекта. Она выведет список модулей, которых нет в вашем package.json.

Затем, команда npm prune удаляет эти пакеты и удалит любые не добавленные в package.json вручную или установленные при помощи npm install без — save флага пакеты.

5. Закрепить версии зависимостей

Запустите:

npm shrinkwrap

При использовании shrinkwrap, в вашем проекте генерируется файл npm-shrinkwrap.json. Это позволяет закрепить зависимости вашего проекта на определенной версии, которую вы сейчас используете внутри директории node_modules. Когда есть npm-shrinkwrap.json и вы запускаете npm install, то произойдет переопределение указанных зависимостей и любых semver диапазонов в package.json.

Если вам нужно точное соответствие между package.json, npm-shrinkwrap.json и node_modules в вашем проекте, вы должны рассмотреть возможность использования npm-shrinkwrap.

6. Использовать npm v3 вместе с Node.js v4 LTS

Запустите:

npm install -g npm@3

Установка npm@3 глобально при помощи npm обновит ваш npm v2 до v3, также при помощи релиза npm v2 LTS поставится релиз Node.js v4 LTS (“Argon”). Установка последней стабильной версии npm v3 произойдет внутри запущенной v4 LTS.

7. Разрешить npm install -g без sudo

Запустите:

npm config set prefix $dir

После выполнения команды, где $dir - это директория, которую вы указываете, чтобы npm устанавливал туда свои глобальные модули, вам больше не нужно указывать sudo для установки модулей глобально. Директория, которую вы указываете в команде, становится вашей глобальной bin директорией.

С одной оговоркой: вы должны убедиться, что вы настроили пользовательские права на доступ для этой директории с помощью chown -R $USER $dir и добавили $dir/bin в PATH.

8. Изменить префикс сохранения по умолчанию для всех ваших проектов

Запустите:

npm config set save-prefix ~

Когда идет установка новых пакетов с —save или —save-dev флагами, тильда (~) более консервативна, чем каретка (^) по умолчанию в npm. Тильда закрепляет зависимость в минорной версии, позволяя патч релизам быть установленными при помощи npm update. Каретка закрепляет зависимости в мажорной версии, позволяя минорным релизам быть установленными с помощью npm update.

9. Отделить devDepencies вашего проекта для боевого окружения

Когда проект готов к релизу, убедитесь, что вы устанавливаете пакеты, указав флаг —production. Флаг —production установит ваши dependencies, игнорируя devDependencies. Это гарантирует, что инструменты и пакеты для разработки не попадут на боевое окружение.

Кроме того, вы можете установить в переменную окружения NODE_ENV значение production, чтобы гарантировать, что devDependecies вашего проекта никогда не установятся.

10. Будьте осторожны, когда используете .npmignore

Если вы не использовали .npmignore, то по умолчанию применится .gitignore с несколькими дополнительными значениями по умолчанию.

Многие не понимают, что после добавления файла .npmignore в ваш проект, .gitignore правила (по иронии судьбы) игнорируется. В результате, вам необходимо проверять два ignore файла на идентичность, чтобы предотвратить конфиденциальные утечки при публикации.

11. Автоматизировать npm init со значениями по умолчанию

Когда вы запускаете npm init в новом проекте, вы можете пройти и установить элементы вашего package.json. Если вы хотите установить значения по умолчанию, которые npm init будет всегда использовать, вы можете использовать команду сonfig set, с некоторыми дополнительными аргументами:

npm config set init.author.name $name 
npm config set init.author.email $email

Если вместо этого вы хотите полностью настроить ваш init скрипт, вы можете указать на свой init скрипт по умолчанию, запустив

npm config set init-module ~/.npm-init.js

Вот пример скрипта, который запрашивает персональные настройки и создает GitHub репозиторий, если вы захотите. Убедитесь, что вы измените имя GitHub пользователя по умолчанию (YOUR_GITHUB_USERNAME) в качестве запасного варианта для переменной окружения с именем GitHub пользователя.


ИСТОЧНИКИ: