Skip to content
garevna edited this page Nov 9, 2018 · 7 revisions

npm

Менеджер пакетов npm - это крупнейший в мире реестр программного обеспечения
( около 3 миллиардов загрузок в неделю )

В реестре содержится более 600 000 пакетов

Open-source разработчики всего мира используют npm
для совместного использования и заимствования пакетов


Installation

Поскольку npm идет в составе Node.js, необходимо установить

Далее заходим в


Commands

which npm

npm --version

npm root
Папка для глобальной установки пакетов


npm init

Эта команда создаст файл package.json в текущей папке
Предварительно нужно создать новую папку для проекта и перейти в нее

📋 package.json хранит зависимости проекта,
т.е. список пакетов, необходимых для проекта
( для каждого пакета указана нужная версия )

При создании файла package.json npm задаст ряд вопросов о проекте,
который будет расположен в текущей папке

Ваши ответы будут использованы для установки значений полей:

  • name - название проекта
  • version - версия
  • description - краткое описание
  • author - автор ( вы )
  • repository - ссылка на репозиторий проекта
  • keywords - ключевые слова
  • scripts- объект, описывающий команды запуска скриптов с помощьюnpm run

Поскольку в дальнейшем вы сможете редактировать файл package.json,
можно особо не заморачиваться первоначальными установками 😉


package.json

Теперь при установке любого пакета запись об этом пакете
будет автоматически добавляться в раздел dependencies
файла package.json

Все пакеты, которые необходимы для проекта, будут описаны в разделах

✅ dependencies
✅ devDependencies

dependencies - зависимости пакета
эти пакеты будут непосредственно включены в сборку приложения

devDependencies - пакеты, необходимые на этапе сборки
в само приложение не встраиваются


.npmrc

Файл конфигурации, откуда
( наряду с package.json )
npm будет считывать установки

Файл .npmrc может существовать для каждого проекта,
для каждого пользователя,
и глобально

Посмотреть настройки конфигурации по умолчанию
можно с помощью команды

npm config ls -l

Изменить настройки можно с помощью команды

 npm config

Например, для автоматического сохранения зависимостей:

npm config set save=true

а для сохранения зависимостей с указанием точной версии пакета:

npm config set save-exact=true

npm install

В своих проектах вы будете использовать различные пакеты,
облегчающие жизнь 😉

🚥 Часть этих пакетов нужна будет для сборки вашего приложения,
его тестирования, отладки, транспилляции и т.д.
Эти пакеты не будут включаться в тело приложения
Они помогут это тело постоить

🚦 Однако в самом приложении вы будете использовать
сторонние библиотеки, фреймворки и т.д.
Эти пакеты будут включены в сборку вашего приложения

Короче, все эти пакеты нужно установить

Для этого вам понадобится команда npm install

Опция -g позволяет установить пакет глобально,
чтобы он был доступен всем вашим приложениям

Глобальная установка пакета с именем <имя пакета>:

npm install -g <имя пакета>

Локальная установка пакета с именем <имя пакета>:

npm install <имя пакета>

Локальная - значит, пакет будет установлен в той директории
( папке пректа ), в которой вы находитесь в момент вызова npm

При установке пакетов с опцией 🚦 --save или 🚥 --save-dev
npm будет добавлять соответствующие записи
в раздел 🚦 dependencies или 🚥 devDependencies

☕ Например, команда

npm install  -g  css-loader  --save-dev

установит загрузчик css-loader глобально
и внесет соответствующую запись в devDependencies


📂 node_modules

Все установленные локально пакеты будут находиться
в папке 📂 node_modules текущего проекта

Необходимо всегда добавлять папку node_modules в gitignore

В git-репозитории никто никогда не хранит папку 📂 node_modules,
однако если клонировать репо,
то установить все необходимые пакеты при наличии файла
package.json очень легко

достаточно выполнить консольную команду ⚙️ npm install,
и все пакеты, перечисленные в package.json, будут установлены
в соответствии с указанными версиями

gitignore


npm run

Прежде, чем использовать эту команду,
нужно внести определенные изменения в файл package.json

Конкретнее - в раздел scripts:

"scripts": {
    "алиас" : "путь_к_файлу_скрипта"
    ...
}

В этом разделе мы описываем скрипты или пакеты,
которые будем запускать с помощью команды npm run

Эта команда запускает указанный скрипт

"scripts": {
    "start" : "node index.js",
    "build" : "webpack"
}

npm list

Вывод списка установленных пакетов

Для вывода списка пакетов, установленных глобально, используйте опцию -g

npm list -g

npm list --depth=0

Для вывода краткого списка ( без подробностей о каждом пакете ) используется опция --depth=0


npm search

поиск пакетов
☕ npm search babel


link

Связывание пакетов

1. создание символической ссылки в глобальной папке ( ~ ) на пакет в локальной папке

Перейдем в папку z/home/test/node_modules
и создадим символическую ссылку на пакет express в текущей папке

2. Теперь перейдем в папку другого проекта ( /z/home/js-samples )
и создадим там символическую ссылку на пакет express,
установленный в папке ( /z/home/test/node_modules ),
на который есть символическая ссылка из глобальной папки ( ~ )

⚠️ Команда link предназначена для создания символических ссылок только на пакеты

Для отмены установленной связи используем команду:

npm unlink images

© Irina H.Fylyppova 2018
Использование данных материалов или любой их части коммерческими школами ( курсами ) является нарушением авторских прав


Новая версия


1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19

Занятие 1

⤵️

Занятие 2

⤴️ ⤵️

Занятие 3

⤴️ ⤵️

Занятие 4

⤴️ ⤵️

Занятие 5

⤴️ ⤵️

Занятие 6

⤴️ ⤵️

Занятие 7

⤴️ ⤵️

Занятие 8

⤴️ ⤵️

Занятие 9

⤴️ ⤵️

Занятие 10

⤴️ ⤵️

Занятие 11

⤴️ ⤵️

Занятие 12

⤴️ ⤵️

Занятие 13

⤴️ ⤵️

Занятие 14

⤴️ ⤵️

Занятие 15

⤴️ ⤵️

Занятие 16

⤴️ ⤵️

Занятие 17

⤴️ ⤵️

Занятие 18

⤴️ ⤵️

Занятие 19

⤴️ ⤵️

⤴️

ico20 Дополнительно
dir-20 Справочная инфо

Clone this wiki locally