1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-dotenv
Michael Herold 5b3578e58f #4751 - Explicitly mention install when cloning examples (#4758)
Preferably this installation wouldn't be necessary, but in lieu of a fix...

#4751
2018-07-11 23:56:15 +02:00
..
pages with-dotenv example (#2399) 2017-06-29 08:32:45 +02:00
.babelrc with-dotenv example (#2399) 2017-06-29 08:32:45 +02:00
.env with-dotenv example (#2399) 2017-06-29 08:32:45 +02:00
.env.production with-dotenv example (#2399) 2017-06-29 08:32:45 +02:00
package.json Upgrade React for all examples (#3113) 2017-10-17 08:11:46 +02:00
README.md #4751 - Explicitly mention install when cloning examples (#4758) 2018-07-11 23:56:15 +02:00

Deploy to now

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 the most basic idea of babel replacement from multiple environment. We have 1 env variable: TEST which will be replaced in development env and in production env with different babel plugin. In local development, babel reads .env file and replace process.env.* in your nextjs files. In production env (such as heroku), babel reads the ENV and replace process.env.* in your nextjs files. Thus no more needed to commit your secrets anymore.

Of course, please put .env* in your .gitignore when using this example locally.

Troubleshooting

Environment variables not showing on the page

If for some reason the variable is not displayed on the page, try clearing the babel-loader cache:

rm -rf ./node_modules/.cache/babel-loader