Заставить пряжу установить определенные модули в заданное рабочее пространство, а не перемещать их в общие node_modules monorepo? - PullRequest
1 голос
/ 16 января 2020

У меня есть монорепо (через рабочие области пряжи ). Одним из рабочих пространств является приложение React, созданное с помощью Создание приложения React (я думаю, что это важно, потому что CRA помещает Webpack / Babel в свой собственный node_modules). Другое рабочее пространство - это чистый JavaScript пакет с собственным набором инструментов Webpack + Babel.

Моя проблема в том, что когда я запускаю сборку из чистого JavaScript рабочего пространства, я получаю следующее:

enter image description here

Однако, когда я разделяю рабочее пространство на отдельный каталог (с помощью функции копирования / вставки) и собираю его оттуда, он прекрасно собирается.

Так что я думаю, что с самим монорепо что-то не так. Я также заметил, что указанному рабочему пространству не хватает @babel, babel-runtime и regenerator-runtime в локальном node_modules, поэтому я скопировал / вставил их из основной папки node_modules в monorepo, а затем все в порядке. Теперь это, очевидно, некоторый недостаток в архитектуре пряжи monorepo и соединения Webpack + Babel.

Возможно ли заставить yarn устанавливать указанные c модули в локальный node_modules вместо " помогать мне ", переместив их в общий node_modules в root monorepo?

1 Ответ

0 голосов
/ 16 января 2020

Вы можете использовать nohoist . Это будет указывать, какие модули должны быть установлены локально для пакета.

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