2016-05-02 2 views
1

Я попросил об этом на нескольких форумах i. е. Почему мы добавляем модули узлов в gitignore. Разве это не зависит от нашего проекта? Когда пользователь копирует мое репо и запускает его в своем локальном, он должен все для зависимостей.Добавление модулей узлов в gitignore

+0

Для _node.js_ все зависимости должны быть перечислены в вашем 'package.json', поэтому вам не нужно добавлять свой каталог * node_module * в элемент управления версиями, но вы можете утверждать, что это может быть хорошей идеей держите его под контролем версий, чтобы всегда можно было убедиться, что у вас есть все модули, когда вы выполняете развертывание, даже если _npm_ не работает. Но может быть проблематично с модулями, которые имеют собственный код. –

ответ

1

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

Модули загруженных узлов должны быть тяжелыми для совместного использования, поэтому при передаче кода в общий репозиторий эту папку следует игнорировать.

NB: делиться конкретной версии узла модулей ти другого пользователя, вы можете использовать shrinkwrap file

+0

Итак, если я развожу свой код на любом сервере, как позаботятся о модусах? –

+0

Команда 'npm install' должна быть запущена в корневом репозитории, если сервер разрешает подключение к Интернету. Другое решение - использовать свой собственный менеджер репозиториев, например [nexus] (https://books.sonatype.com/nexus-book/reference/index.html), чтобы переопределить npm и совместно использовать предварительно загруженные модули в команде проекта или через серверы. В противном случае copy/paste будет последним решением :) –

0

Если вы используете команду npm install --save express установить express.js, например файл package.json в проекте будет обновляться с этой зависимостью.

Если вы сделаете npm install, он автоматически установит все зависимости, перечисленные в вашем файле package.json!

Итак, вам просто нужно включить файл package.json в свой репозиторий git.

0

Даже я думал то же самое раньше, позже я реализатор, слишком много js-файлов, если вы заметите, что в папке модулей модулей будет поддерживаться 2000-4000 файлов, его трудно поддерживать.

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

Так что хорошо игнорировать эти файлы, чтобы сократить время сборки.

Смежные вопросы