Шпаргалка по 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"
},