odewahn / golang-react-template

Basic template for app with a golang backend and a React frontend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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"
},

About

Basic template for app with a golang backend and a React frontend


Languages

Language:JavaScript 56.4%Language:Go 29.6%Language:HTML 14.0%