в разделе "Динамические удалённые модули", я объяснил для каких целей мы используем в компании динамическую загрузку
в целом, никто не запрещает писать инструмент с нуля) мне было интересно реализовать это с помощью ModuleFederation, поскольку он максимально гибкий и не привязан к конкретному фреймворку
главная причина - это необходимость асинхронной операции, в которой мы получаем последнюю опубликованную версию пакета плагин ModuleFederation это и предоставляет, правда в неудобном виде и поэтому я решил его доработать
возможно не понял вопрос, но как вы планируете сами динамически вставлять "нужный" бандл? плагин ModuleFederation делает за нас эту работу предварительно он запрашивает входную точку (remoteEntry.js), добавляя <script> с ним в <head> затем remoteEntry.js импортирует запрашиваемый бандл, так же добавляя его в <head> при этом удаленный бандл может быть поделен также на несколько чанков, которые будут загружаться по необходимости
да, согласен у меня не было цели создать максимально гибкий инструмент для работы из "коробки" предварительно, мы с беком и другими командами определили по какому адресу будут храниться микрофронтенды и где забирать build-tag это необходимый этап, после которого нужно один раз описать эту логику, а затем разработчики просто пишут список удаленных модулей
спасибо за ссылку на angular-architects, изучу его подробнее
1) отступы, действительно, в некоторых местах хромают
особенно поломались в предпоследнем примере кода
про 2 и 3: я был больше сосредоточен на результате работы этих функций, и когда пишешь статью, то глаз уже замыливается ))
в целом, спасибо за комментарий
в разделе "Динамические удалённые модули", я объяснил для каких целей мы используем в компании динамическую загрузку
в целом, никто не запрещает писать инструмент с нуля)
мне было интересно реализовать это с помощью ModuleFederation, поскольку он максимально гибкий и не привязан к конкретному фреймворку
главная причина - это необходимость асинхронной операции, в которой мы получаем последнюю опубликованную версию пакета
плагин ModuleFederation это и предоставляет, правда в неудобном виде и поэтому я решил его доработать
возможно не понял вопрос, но как вы планируете сами динамически вставлять "нужный" бандл?
плагин ModuleFederation делает за нас эту работу
предварительно он запрашивает входную точку (
remoteEntry.js), добавляя<script>с ним в<head>затем
remoteEntry.jsимпортирует запрашиваемый бандл, так же добавляя его в<head>при этом удаленный бандл может быть поделен также на несколько чанков, которые будут загружаться по необходимости
IDE и es-lint видит их, как нативный js
module,поэтому с этим проблем нетили я пока не заметил
может есть конкретный пример ругани es-lint ?
да, согласен
у меня не было цели создать максимально гибкий инструмент для работы из "коробки"
предварительно, мы с беком и другими командами определили по какому адресу будут храниться микрофронтенды и где забирать build-tag
это необходимый этап, после которого нужно один раз описать эту логику, а затем разработчики просто пишут список удаленных модулей
спасибо за ссылку на angular-architects, изучу его подробнее
по треку Frontend, особенно по JavaScript, очень мало тем