From f3d3309a3c98cce9e0fc75e696a6bac4d66161cb Mon Sep 17 00:00:00 2001 From: tim neutkens Date: Sat, 4 Feb 2017 21:25:01 +0100 Subject: [PATCH 1/2] Added universal configuration example --- .../with-universal-configuration/.babelrc | 8 ++++++ .../with-universal-configuration/README.md | 28 +++++++++++++++++++ .../env-config.js | 5 ++++ .../with-universal-configuration/package.json | 17 +++++++++++ .../pages/index.js | 5 ++++ 5 files changed, 63 insertions(+) create mode 100644 examples/with-universal-configuration/.babelrc create mode 100644 examples/with-universal-configuration/README.md create mode 100644 examples/with-universal-configuration/env-config.js create mode 100644 examples/with-universal-configuration/package.json create mode 100644 examples/with-universal-configuration/pages/index.js diff --git a/examples/with-universal-configuration/.babelrc b/examples/with-universal-configuration/.babelrc new file mode 100644 index 0000000000000..e1580ad7a468a --- /dev/null +++ b/examples/with-universal-configuration/.babelrc @@ -0,0 +1,8 @@ +{ + "presets": [ + "next/babel" + ], + "plugins": [ + ["transform-define", "./env-config.js"] + ] +} diff --git a/examples/with-universal-configuration/README.md b/examples/with-universal-configuration/README.md new file mode 100644 index 0000000000000..2331fc2e5982b --- /dev/null +++ b/examples/with-universal-configuration/README.md @@ -0,0 +1,28 @@ + +# With universal configuration + +## How to use + +Download the example [or clone the repo](https://github.com/zeit/next.js): + +```bash +curl https://codeload.github.com/zeit/next.js/tar.gz/master | tar -xz --strip=2 next.js-master/examples/basic-css +cd basic-css +``` + +Install it and run: + +```bash +npm install +npm run dev +``` + +Deploy it to the cloud with [now](https://zeit.co/now) ([download](https://zeit.co/download)) + +```bash +now +``` + +## The idea behind the example + +This example show how to set custom environment variables for your application based on NODE_ENV using [transform-define](https://github.com/FormidableLabs/babel-plugin-transform-define). diff --git a/examples/with-universal-configuration/env-config.js b/examples/with-universal-configuration/env-config.js new file mode 100644 index 0000000000000..b2cf545f6cdfa --- /dev/null +++ b/examples/with-universal-configuration/env-config.js @@ -0,0 +1,5 @@ +const prod = process.env.NODE_ENV === 'production' + +module.exports = { + 'MY_ENV_VARIABLE': prod ? 'production' : 'development' +} diff --git a/examples/with-universal-configuration/package.json b/examples/with-universal-configuration/package.json new file mode 100644 index 0000000000000..88e3be2342195 --- /dev/null +++ b/examples/with-universal-configuration/package.json @@ -0,0 +1,17 @@ +{ + "name": "with-env", + "version": "1.0.0", + "scripts": { + "dev": "next", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "next": "^2.0.0-beta" + }, + "devDependencies": { + "babel-plugin-transform-define": "^1.2.0" + }, + "author": "", + "license": "ISC" +} diff --git a/examples/with-universal-configuration/pages/index.js b/examples/with-universal-configuration/pages/index.js new file mode 100644 index 0000000000000..4e81b3215afaa --- /dev/null +++ b/examples/with-universal-configuration/pages/index.js @@ -0,0 +1,5 @@ +/* global MY_ENV_VARIABLE */ + +export default () => ( +
Hello visitor from { MY_ENV_VARIABLE }
+) From e2ce55ad98b2f24dc832027a0d0a75caa13b9353 Mon Sep 17 00:00:00 2001 From: tim neutkens Date: Sun, 5 Feb 2017 00:09:29 +0100 Subject: [PATCH 2/2] Make example more clear --- examples/with-universal-configuration/env-config.js | 2 +- examples/with-universal-configuration/pages/index.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/with-universal-configuration/env-config.js b/examples/with-universal-configuration/env-config.js index b2cf545f6cdfa..47555f897c446 100644 --- a/examples/with-universal-configuration/env-config.js +++ b/examples/with-universal-configuration/env-config.js @@ -1,5 +1,5 @@ const prod = process.env.NODE_ENV === 'production' module.exports = { - 'MY_ENV_VARIABLE': prod ? 'production' : 'development' + 'BACKEND_URL': prod ? 'https://api.example.com' : 'https://localhost:8080' } diff --git a/examples/with-universal-configuration/pages/index.js b/examples/with-universal-configuration/pages/index.js index 4e81b3215afaa..afb3c4eef3bf0 100644 --- a/examples/with-universal-configuration/pages/index.js +++ b/examples/with-universal-configuration/pages/index.js @@ -1,5 +1,5 @@ -/* global MY_ENV_VARIABLE */ +/* global BACKEND_URL */ export default () => ( -
Hello visitor from { MY_ENV_VARIABLE }
+
Loading data from { BACKEND_URL }
)