mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
d3f1fa630e
## Issue
I decided to rewrite the [with-dotenv](https://github.com/zeit/next.js/tree/canary/examples/with-dotenv) using [dotenv-webpack](https://github.com/mrsteele/dotenv-webpack) example because:
- changes doesn't get applied (#4748, brysgo/babel-plugin-inline-dotenv#13)
- the production mode doesn't work at all
- this approach has already been used in the [examples/relay-modern](9320d9f006/examples/with-relay-modern/next.config.js
)
- it is [documented](https://webpack.js.org/plugins/environment-plugin/#dotenvplugin) by webpack
## Alternatives
* remove/deprecate example
* fix babel-plugin-inline-dotenv
## Related
Closes: #4748
1.6 KiB
1.6 KiB
With Dotenv example
How to use
Using create-next-app
Execute create-next-app
with Yarn or npx to bootstrap the example:
npx create-next-app --example with-dotenv with-dotenv-app
# or
yarn create next-app --example with-dotenv with-dotenv-app
Download manually
Download the example:
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-dotenv
cd with-dotenv
Install it and run:
npm install
npm run dev
# or
yarn
yarn dev
Deploy it to the cloud with now (download)
now
The idea behind the example
This example shows how to inline env vars.
Please note:
- It is a bad practice to commit env vars to a repository. Thats why you should normally gitignore your
.env
file. - As soon as you are using an env var in your code it will be publicly available and exposed to the client.
- If you want to have more control of what is exposed to the client check out tusbar/next-runtime-dotenv.
- Env vars are set (inlined) at build time. If you need to configure your app on rutime check out examples/with-universal-configuration-runtime