Estoy creando una aplicación React multiinquilino donde los clientes podrán descargar los archivos de la aplicación y ejecutar la aplicación en su entorno. Es esencialmente una sola aplicación implementada en la infraestructura del cliente (que no está bajo nuestro control). Estoy usando create-react-app .
Lo que me cuesta es encontrar una forma en la que cada cliente pueda especificar parámetros de configuración en función de su entorno. Por ejemplo, digamos que hay un parámetro en mi aplicación llamado ApiEndpoint . Ahora bien, esto variará para cada cliente, ya que también alojarán la API en su entorno. ¿Cómo puede un cliente especificar un valor para este parámetro para su entorno que pueda leer la aplicación?
Al principio pensé que sería capaz de hacer uso de variables de environment donde cada cliente podría crear un archivo .env y hacer que mi aplicación se leyera desde ahí. Sin embargo, cuando leí la documentación, me di cuenta de que no funcionará ya que el archivo .env se incluye en el paquete.
Otro pensamiento que tengo es crear un archivo de configuración (digamos app.config ) en la raíz de la aplicación web implementada. Los clientes podrán proporcionar una configuración específica para su entorno en ese archivo y cuando se cargue mi aplicación, leeré el contenido de este archivo y completaré las variables de mi aplicación en consecuencia.
Creo que la solución del archivo de configuración funcionará. Sin embargo, tengo curiosidad por saber cómo otras personas están resolviendo este problema.