About
.env files are property files that set the environment variable for a development environment.
Logic
This logic was taken from React where the defined the environment value with NODE_ENV
- .env: Default.
- .env.local: Local overrides. This file is loaded for all environments except test.
- .env.development, .env.test, .env.production: Environment-specific settings.
- .env.development.local, .env.test.local, .env.production.local: Local overrides of environment-specific settings.
With the script of a create react app, Files on the left have more priority than files on the right:
- npm start: .env.development.local, .env.development, .env.local, .env
- npm run build: .env.production.local, .env.production, .env.local, .env
- npm test: .env.test.local, .env.test, .env (note .env.local is missing)
.env files should be checked into source control (with the exclusion of .env*.local).
Library
- Node : variable expansion - dotenv-expand