Estoy usando la aplicación Create React para iniciar mi aplicación.
He agregado dos archivos .env .env.development y .env.production en la raíz.
Mi .env.development incluye:
API_URL=http://localhost:3000/api CALLBACK_URL=http://localhost:3005/callback Cuando ejecuto mi aplicación usando react-scripts start y console out process.env escupe
{ NODE_ENV: "development", PUBLIC_URL: "" }Intenté diferentes cosas, pero simplemente no recojo las variables en mi archivo de desarrollo, ¿qué estoy haciendo mal?
La estructura del directorio es:
/.env.development /src/index.jsLa secuencia de comandos Package.json es:
"start": "export PORT=3005; npm-run-all --parallel server:start client:start", "client:start": "export PORT=3005; react-scripts start", "server:start": "node server.js", "build": "react-scripts build",Editar:
@jamcreencia señaló correctamente que mis variables deben tener el prefijo REACT_APP .
Editar 2
Funciona bien si nombro el archivo .env pero no si uso .env.development o .end.production
Con crear una aplicación de reacción, debe agregar el prefijo REACT_APP_ al nombre de la variable. ex:
REACT_APP_API_URL=http://localhost:3000/api REACT_APP_CALLBACK_URL=http://localhost:3005/callbackDocumentos de CRA sobre la adición de variables de entorno personalizadas :
Nota : debe crear variables de entorno personalizadas que comiencen con
REACT_APP_. Cualquier otra variable, exceptoNODE_ENV, se ignorará para evitar exponer accidentalmente una clave privada en la máquina que podría tener el mismo nombre.
Asegúrese de que su archivo .env esté en el directorio raíz, no dentro de la carpeta src.