Могу ли я использовать одну папку node_module для всех проектов angular2/4?

Я изучаю Angular, и каждый раз создание нового проекта занимает около 5 минут из-за 100-мегабайтной папки «node_modules», которую создает CLI. И файлы в этой папке всегда одни и те же (если только вы не добавите какие-то зависимости, чего я никогда не делаю). Есть ли способ использовать одну папку node_modules для каждого проекта?


person displayName    schedule 28.09.2017    source источник
comment
в одностраничном приложении, почему несколько папок node_module?   -  person pixelbits    schedule 28.09.2017
comment
@pixelbits Нет. Я спрашиваю, как я могу использовать папку node_modules для нескольких приложений.   -  person displayName    schedule 28.09.2017


Ответы (3)


Загляните на https://yarnpkg.com/blog/2017/08/02/introduction-workspaces/

Yarn Workspaces — это функция, которая позволяет пользователям устанавливать зависимости из нескольких файлов package.json во вложенных папках одного корневого файла package.json за один раз.

Использование Workspaces в Yarn обеспечивает более быструю и легкую установку, предотвращая дублирование пакетов в Workspaces. Yarn также может создавать символические ссылки между рабочими пространствами, которые зависят друг от друга, и обеспечит согласованность и правильность всех каталогов.

npm install -g yarn

person angularrocks.com    schedule 28.09.2017

Вы можете установить все зависимости глобально или создать символическую ссылку из одного места для каждого проекта.

НО это плохая практика, правильный способ — использовать отдельные node_modules для каждого проекта, даже если вы используете одни и те же пакеты. Когда-то вам нужно будет использовать разные версии одного и того же пакета в разных проектах, и общий node_modules вызовет много головной боли.

Попробуйте использовать кеш npm и npm install --prefer-offline, если вы просто хотите установить пакет быстрее и не заботитесь о точном соответствии версии. Я не использовал его, но считаю, что он должен работать.

person RidgeA    schedule 28.09.2017

Только пакеты, установленные узлом (установка npm), могут находиться в папке node_modules. Это потому, что если кто-то захочет установить ваш проект, вместо загрузки всего проекта с включенными node_modules. Они набирают npm install.

На основе packageg.json node_modules теперь будут загружены в папку node_modules.

Таким образом, вы можете поместить angular в папку node_modules, если это пакет npm. Нет, вы не можете помещать свои файлы в эту папку.

Таким образом, вы можете просто скопировать свой package.json в каждый проект и запустить установку npm. Тогда все node_modules будут одинаковыми.

person Sven    schedule 28.09.2017