Deploy React-based universal web apps on Heroku.
Demo deployment from this repo: https://nextjs.herokuapp.com
A custom Node/Express server is supported. Use it to:
▶️ Next with custom Express server
Once you have a Next app working locally, you may deploy it for public access.
Revise the npm start
script to set the web listener $PORT
:
Merge this entry into package.json:
{
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start -p $PORT"
}
}
⭐️ In March 2019, Heroku began running npm run build
automatically, so the old heroku-postbuild
script entry is no longer required.
Ensure the app is a git repo, ignoring local-only directories:
git init
(echo node_modules/ && echo .next/) >> .gitignore
Create the Heroku app:
heroku create $APP_NAME
🚀 Deploy:
git add .
git commit -m 'Next.js app on Heroku'
git push heroku main
⭐️ As of July 2020, Heroku supports git push heroku main
and encourages its use. The support for the branch name of 'master' will remain available for backwards compatibility.
♻️ Deploy changes: add, commit, & push again.
Next itself supports build & runtime configuration through the next.config.js file.
Use environment variables (Heroku config vars) within your React components, no rebuilds required! Simply set next.config.js values from the server's environment using process.env
object.