How to deploy on Heroku?

We recommend you read the Heroku documentation for Node.js.

Watch a free lesson on How to deploy Nuxt.js to Heroku on Vue School

First, we need to tell Heroku to install the devDependencies of the project (to be able to launch npm run build):

  1. heroku config:set NPM_CONFIG_PRODUCTION=false

Also, we want our application to listen on the host 0.0.0.0 and run in production mode:

  1. heroku config:set HOST=0.0.0.0
  2. heroku config:set NODE_ENV=production

You should see this in your Heroku dashboard (Settings section):

nuxt config vars Heroku

Heroku uses a Procfile (name the file Procfile with no file extension) that specifies the commands that are executed by the apps dynos. To start the Procfile will be very simple, and needs to contain the following line:

  1. web: nuxt start

This will instruct run the nuxt start command and tell heroku to direct external HTTP traffic to it.

Finally, we can push the app on Heroku with:

  1. git push heroku master

To deploy a non-master branch to Heroku use:

  1. git push heroku develop:master

where develop is the name of your branch.

Voilà! Your Nuxt.js application is now hosted on Heroku!