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 thecomponents
directory. - The
npm run start
command will use watchify + browserify + reactify to create a singlebundle.js
file, which is stored inbackend/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 ofbackend/public
as a static site. Theindex
file in this directory loads thebundle.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"
},