For production environment, I can accept that golang can not hot swap. But for development mode, must I recompile whole project, and restart server, even just modify 1 line of code? Is there any way to quickly hot swap code to check result for debugging?
You use or create a watcher process that looks for changes, will recompile and restart the server when it identifies a change.
Here are some examples of this. I use Beego and bee
rebuilds my server during development all the time.
Gin
gin
is a simple command line utility for live-reloading Go web applications. Just rungin
in your app directory and your web app will be served withgin
as a proxy.gin
will automatically recompile your code when it detects a change. Your app will be restarted the next time it receives an HTTP request.
Fresh
Fresh will watch for file events, and every time you create/modify/delete a file it will build and restart the application. If go build returns an error, it will log it in the tmp folder.
Fresh works specifically with Traffic, Martini and gocraft/web.
Beego bee
The Beego web framework also does this. This is implemented in bee
, a CLI tool for running Beego.
bee
will watch all the project directories by default and has an option to also watch the vendor
directory.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With