Using Gorilla websockets with React
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
frontend working examples Dec 27, 2015
.gitignore more tweaks to readme Dec 23, 2015

Golang / React template

This is a super slim starter kit for an app with a Golang backend (in the backend directory) and a React-based frontend (in the frontend) directory. In a nutshell:

  • Your frontend is a React app that is bundled into a single file (bundle.js).
  • You put your frontend code in the frontend directory. This mostly means adding componets and other stuff to the components directory.
  • The npm run start command will use watchify + browserify + reactify to create a single bundle.js file, which is stored in backend/public
  • The Golang backend is in the backend directory. gin is used to do live recompile.
  • The Golang server uses net/http to serve the contents of backend/public as a static site. The index file in this directory loads the bundle.js app generated by your frontend.

To use it, you'll need:

  • npm for package management
  • A Golang dev environment
  • gin

First, clone it down to your machine (duh!) and cd into your new directory. Then:

npm install
npm run start

View the app at http://localhost:3000.

This will start a dev server with live reload so that you can edit your go code in the backend and your React code in frontend. gin handles reload for Golang and watchify handles it for React. This is all handled using npm as a build tool:

"scripts": {
  "start": "npm run frontend & npm run backend",
  "frontend": "watchify -o backend/public/bundle.js -v -d frontend/main.js",
  "backend": "cd backend; gin"