Я строю новый проект на основе архитектуры Monorepo / NX (nrwl) и микро-интерфейса. Я извлек конфиг webpack для создания angular проектов. может быть несколько angular проектов, и с помощью команды nx nx build [target] я делаю сборки.
Внутри конфигурации webpack я использую функцию возврата в соответствии с множеством пользовательских операций. в функцию передаются два параметра config и options. Вместо того, чтобы отделить пакет. json для каждого проекта в monorepo, есть один общий файл, известный как рабочее пространство. json, и он включает все конфиги. Поэтому, когда я запускаю nx build [target] , он переходит в рабочую область. json, ищет соответствующий проект и запускает компоновщики.
В соответствии с пользовательскими конфигурациями веб-пакетов проблема заключалась в том, что все основные . js сборки имели ключ webpackJsonp в глобальном объекте, и поскольку я загружал несколько микро-приложений в качестве веб-компонентов, они имели один и тот же ключ (webpackJsonp) и переопределяли друг друга. Но я исправил это с помощью этой строки кода
config.output.jsonpFunction = 'webpackJsonp_' + Math.random().toString(36).substring(7);
Но теперь я хочу запустить несколько команд оболочки для объединения пакетов в один пакет и перемещения объединенного пакета в каталог, где находится мой загрузчик живет.
Поскольку все пакеты хранятся в папке dist с разделенными папками автоматически с помощью nx, я хотел бы получить доступ к этим папкам из пользовательской конфигурации веб-пакета, чтобы иметь возможность перемещать их в другое место назначения. все подпапки в dist имеют то же имя, что и проекты. например, если у меня есть заголовок проекта, после сборки есть dist / header / folder и там хранятся сборки.
Я не хочу передавать параметры, подобные этим nx build [name] --additiona params. Я хочу как-то узнать в файле custom.webpack. js во время сборки, какой проект собирает веб-пакет.