Webpack включает общий локальный модуль несколько раз - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть приложение, в котором я должен ссылаться на других общих библиотек из другого места, но в том же хранилище.Таким образом, структура довольно проста:

- my-app
---- node_modules
-------- my-lib1 (symlink)
- common
---- my-lib1
---- my-lib2
-------- node_modules
------------ my-lib1 (symlink)

Репо: https://github.com/maxsinev/webpack-local-modules-bundling-problem

Я использую webpack и babel для объединения и переноса моего проекта, но my-lib1 дважды включается в комплект результатов. Как настроить веб-пакет для включения библиотеки только один раз?

О моем веб-пакете conf - resolve.symlinks: false в конфигурации веб-пакета необходим для переноса моих общих библиотек с babel.Если я установлю его на true, то webpack ищет загрузчики или предустановки babel относительно обработанного проекта и разрешает путь символических ссылок к реальному, но я хочу работать с ними как модуль из node_modules.

Я пытался:

  • resolve.symlinks: false + resolve.alias - это работает (я использую сейчас), но что, если я создам библиотеку my-lib3, которая будет зависимостью для my-lib1 и my-lib2, но не main-app?Я не хочу добавлять my-lib3 в качестве зависимости к main-app в этом случае и добавлять другой псевдоним.
  • resolve.modules = [path.resolve(__dirname, 'node_modules')] - он работает только в ситуациях, когда ваш main-app имеет те же зависимости, что и все локальные библиотеки.

Я читаю некоторые ответы в SO и комментарии в вопросах github, ноЯ не мог найти решение или даже идею, чтобы решить это правильно.

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