Skip to content

A starter template for running React and Express from the same project

Notifications You must be signed in to change notification settings

burkeholland/express-react-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Express React Starter

This is a template for using Express and React in the same project. It is based on Create React App.

Read the article: Introducing Express React Starter

OR...

Prerequisites

Installing

git clone 'this-repo-url' app-name
cd app-name
npm install

Running The App

The template can be run in development, or in production. For development, use the following workflow.

Start the React App

npm start

Start the Express Server

cd server
npm start

Imgur

This will start both the frontend and API. Both will be reloaded automatically when you make changes.

What Is Happening Here?

Create React App and the Express server are running on different processes. This is so that React can still use in memory Webpack to do hot reloads really fast.

All AJAX/fetch requests to /api are sent back to the Express server which is serving all /api routes from the routes/index.js file. This is done via a proxy setup in the package.json file.

Building For Production

In production, you want Express to serve up your app.

Build React App

npm build

This will build the entire app into the "build" folder. This is the folder that you would deploy to your server. The entrypoint is server.js. You can test the production build locally by running...

npm start

Now simply visit the Express app at 'http://localhost:3000' and you will see your app served from the 'build' folder. That's all there is to it!

About

A starter template for running React and Express from the same project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published