Deploy Create React App with Surge

By Dave Ceddia

Have you heard of Create React App? It’s a tool for bootstrapping React apps. Better than a boilerplate where you have to manage the dependencies yourself, Create React App (a.k.a. CRA) contains all the Webpack magic and build scripts. It’s one command to generate a project, and then all you need to do to create a production-ready JS bundle is run npm run build.

Lightning

Now, how can you get that app live on the internet?

  • Set up a VPS, configure nginx, and scp up the files. (“30 minutes”, but probably like 4 hours)
  • Configure an Amazon S3 bucket and then set it up correctly to serve a single-page app? (10-30 minutes)
  • Just use Surge. (27 seconds)

Deploying an app to Surge is insanely easy, and it’s even free (including a custom domain and SSL).

Here’s a 27-second video:

Deploy Create React App to Surge

Here are the steps:

(This assumes you already have an app created with Create React App)

  1. Install Surge:
npm install -g surge
  1. Run the Create React App build:
cd your-react-project
npm run build
  1. Switch into the build directory:
cd build
  1. Run Surge, and follow the prompts. All it needs is an email and a password, and you can optionally specify a different domain name.
surge
  1. Go to the URL it prints out. For instance, http://lively-payment.surge.sh/.

Happy deploying!