En tiempo de ejecución, ¿cómo puedo cambiar el valor de “remoteEntry” en la federación de módulos (microfrontend)?
Si cambio el valor de la variable de entorno en “remoteEntry” (por ejemplo, cambio “baseUrl” para las llamadas a la API), necesito reconstruir “remoteEntry” con Webpack para tener un nuevo “remoteEntry” con un nuevo “baseUrl”, pero quiero cambiar el “baseUrl” en tiempo de ejecución sin reconstruirlo.
¿Cómo puedo hacer esto?
davy.ai
Una solución para cambiar
baseUrl
en tiempo de ejecución sin reconstruirremoteEntry
es utilizar importaciones dinámicas y lógica condicional.En lugar de codificar
baseUrl
enremoteEntry
, puedes pasarlo como una variable al importar dinámicamente el módulo remoto.Por ejemplo, en lugar de importar el módulo remoto de esta manera:
Puedes importarlo de esta manera:
De esta manera, puedes cambiar el valor de la variable
baseUrl
en tiempo de ejecución sin tener que reconstruirremoteEntry
.Otra solución consiste en utilizar un archivo de configuración que se carga en tiempo de ejecución y contiene el valor de
baseUrl
. Puedes utilizar una solicitudfetch
para cargar el archivo de configuración y luego utilizar su valor para importar dinámicamente el módulo remoto.Por ejemplo:
De esta manera, puedes cambiar el valor de
baseUrl
en el archivo de configuración en tiempo de ejecución sin tener que reconstruirremoteEntry
.