Шпаргалка по NPM
npm [command] -h # описание команды, варианты вызова, алиасы npm i [package] # то же, что npm install [package] npm i [package] -D # то же, что npm install [package] --save-dev (установка пакета(ов) как dev-зависимость) npm home [package] # открыть домашнюю страницу пакета npm repo [package] # открыть страницу проекта в репозитории npm r [package] # то же, что npm uninstall [package] npm list --depth=0 # показать список установленных в проекте пакетов npm list -g --depth=0 # показать список глобально установленных пакетов npm list [package] # показать версию установленного пакета, -g для глобально установленного пакета npm view [package] version # показать последнюю доступную для установки версию пакета npm outdated # сравнить версии установленных в проекте пакетов (новые в рамках прописанных версий и самые новые версии)
NPM-скрипты
В package.json
, в секцию "scripts"
можно прописать команды, которые будут выполняться с помощью команды npm run
, но по умолчанию есть некоторые сокращения:
Команда nmp run [что-то]
добавляет в $PATH
директорию node_modules/.bin
, так что можно использовать не глобально установленные зависимости проекта без упоминания этой директории. Напимер, можно писать:
"scripts": { "test": "stylelint ./src/**/*.less", "start": "gulp" },
"scripts": { "test": "./node_modules/.bin/stylelint ./src/**/*.less", "start": "./node_modules/.bin/gulp" },
Скрипты могут вызывать другие скрипты последовательно:
"scripts": { "clean-build-directory": "...", "start": "...", "build": "npm run clean-build-directory && npm run start" },
"scripts": { "coverage": "npm run tests-coverage & npm run types-coverage" }
Разное
Задайте свои данные по умолчанию, чтобы не вводить их при каждом npm init
.
npm set init.author.name "$NAME" npm set init.author.email "$EMAIL" npm set init.author.url "$SITE"
Поместите в корень репозитория файл .npmrc
из этого репозитория для уменьшения длинны сообщений об ошибках в консоли.
Отключите прогресс-бар для увеличения скорости установки пакетов: npm set progress=false
Используйте сокращенную запись для установки пакетов с одинаковым префиксом:npm i gulp-{concat,minify,uglify} -D
Используете bower? Хорошо. Но для тех, кто его не использует, будет невозможно собрать проект. Чтобы этого избежать, поставьте bower как зависимость и пропишите команду, выполняющуюся сразу после вызова npm install
:
"scripts": { "postinstall": "bower install" },