Недавно я начал работу с разработкой приложений Angular 2, и у меня возникла проблема. У меня есть несколько проектов, которые используют определенные модули узлов, и я установил эти модули с npm install
в папку проекта. Но потом я начал думать: если у меня много проектов и установка модулей узлов для каждого из этих проектов, для этого требуется довольно много дискового пространства, и несколько модулей узлов устанавливаются несколько раз (в нескольких проектах). Поэтому я попытался найти способ установить узловые модули в какой-то общей папке, чтобы сделать эту папку какой-то библиотекой, которую используют мои проекты. Но есть еще одна проблема, которая приходит мне на ум: что, если разные проекты требуют разных версий одного и того же модуля? Как установить несколько версий модулей в одну папку?Место узла node_modules в стадии разработки
Возможно, я думаю совершенно не так, поэтому я прошу решения вашей проблемы. Есть ли общий способ обработки узлов на стадии разработки? У каждого проекта есть собственная папка модулей узлов или есть ли какая-то общая папка? Какой наиболее распространенный подход (если таковой имеется)?
Спасибо!
EDIT: нашел эту страницу в Nexus Repository docs - в ней говорится, что прокси-реестр npm «уменьшает дублирование загрузки», что я пытаюсь сделать. Мне уже удалось создать некоторый резидентный прокси-сервер npm, и я указал свой прокси-url в файле .npmrc. Когда я запускаю npm install
, активы и компоненты добавляются в мой репозиторий прокси, но это не решает мою проблему. Модули узлов также устанавливаются в папку моего проекта. Я не совсем понимаю, как «уменьшить дублирующиеся загрузки» с помощью Nexus Repository. Может ли кто-нибудь объяснить мне, как это достичь?
Хорошей практикой было бы иметь отдельную папку node_modules для каждого проекта. Если есть какие-либо пакеты, используемые на глобальном уровне без каких-либо изменений i-версий, то вы можете установить эти модули по всему миру и получить доступ к ним во всех ваших проектах. Если вам определенно нужно иметь общую папку node_modules, то yu может иметь ее, но вам нужно для настройки модулей, которые требуются для каждого проекта, с помощью пакета, такого как webpack или rollup –