Я пытаюсь сделать что-то, что, по моему мнению, должно быть возможным, но я действительно не могу понять, как это сделать, только из документации по webpack (что, на мой взгляд, является адским, чтобы расшифровать и понять).
Я пишу библиотеку JavaScript с несколькими модулями, которые могут или не зависят друг от друга. Кроме того, jQuery используется всеми модулями, и некоторым из них могут понадобиться плагины jQuery. Эта библиотека будет использоваться на нескольких разных сайтах, для которых могут потребоваться некоторые или все модули.
Определение зависимостей между моими модулями было очень простым, но определение их сторонних зависимостей кажется более сложным, чем я ожидал.
Что я хотел бы достичь: для каждого веб-сайта я хочу иметь два пакета файлов с необходимыми сторонними зависимостями и другими с необходимыми модулями из моей библиотеки.
Пример: Представьте, что моя библиотека имеет следующие модули:
- a (требуется: jquery, jquery.plugin1)
- b (требуется: jquery, a)
- c (требуется: jquery, jquery.ui, a, b)
- d (требуется: jquery, jquery.plugin2, a)
И у меня есть веб-сайт (см. его как уникальный файл записи), который требует модулей a, b и c. Webpack для этого случая должен генерировать следующие файлы:
- пакет поставщиков: с jquery, jquery.plugin1 и jquery.ui;
- веб-узел: с модулями a, b и c;
В конце концов, я бы предпочел, чтобы jQuery был глобальным, поэтому мне не нужно требовать его на каждом отдельном файле (я мог бы потребовать его только в основном файле, например). Плагины jQuery просто расширят $global, если они потребуются (это не проблема, если они доступны для других модулей, которые им не нужны).
Предполагая, что это возможно, что будет примером файла конфигурации webpack для этого случая? Я попробовал несколько комбинаций загрузчиков, внешних и плагинов в моем файле конфигурации, но я действительно не понимаю, что они делают, и какие из них я должен использовать. Спасибо!