¿Hay alguna forma de inyectar variables de entorno, por ejemplo, REACT_APP_MY_API en el archivo index.html ?
De acuerdo con esto , se puede hacer, pero parece que no puedo hacerlo funcionar.
REACT_APP_MY_API=https://something.com <script type="text/javascript"> console.log("%REACT_APP_MY_API%") // undefined console.log("%NODE_ENV%") // development </script>Acabo de probar con una configuración (casi) nueva de CRA y funciona.
<head> <title>React App</title> <script type="text/javascript"> console.log("%REACT_APP_TEST%") // OK console.log("%NODE_ENV%") // development </script> </head>¿Intentaste reiniciar el servidor? Acabo de intentar cambiar la variable de prueba con su ejemplo y funciona si reinicia el servidor de desarrollo.
Como alguien señaló en los comentarios, la documentación oficial de CRA tiene una sección sobre eso.
Asegúrese de reiniciar su aplicación create-react cuando agregue variables en el archivo .env
También asegúrese de tener >= react-scripts@0.9
Uso variables .env para el metatítulo de un sitio con varias versiones de idioma de la compilación:
<title>%REACT_APP_SITE_TITLE%</title>
De los documentos ( aquí ):
react-scripts sea igual o mayor que 0.0.9.env en el mismo nivel de su package.jsonREACT_APP_ ; por ejemplo REACT_APP_TITLEprocess.env.REACT_APP_XXX% , es decir <title>%REACT_APP_TITLE%</title>.env