Next 9.4 has built-in support for .env files: https://nextjs.org/docs/basic-features/environment-variables
But, in case you want to have multiple .env files, like:
- .env.development
- .env.staging
- .env.prestaging
- .env.production
It would be impossible to do with a built-in env variables support. There’s only 3 environments that officially supported for now, it’s: “development”, “test”, “production”. With next dev
you use “development”, next build && next start
uses “production” environment.
If you need to build for production environment, but using “.env.staging” for example, then you need to add env-cmd package, and add this line to your package.json:
"build:staging": "env-cmd -f .env.staging yarn build && yarn start"
Next would make a production build with “.env.staging” variables.