Go + Air でホットリロード
はじめに
Goでファイル変更したときにホットリロードさせるツールとして、
cosmtrek/airを使ってみたいと思います。
環境
go: v1.15.3
プロジェクト作成
% mkdir sample && cd sample
% go mod init sample
% mkdir sample && cd sample
% go mod init sample
特にここはなんでも良いですが、フレームワークとしてginを使います。
% go get -u github.com/gin-gonic/gin
% vi main.go
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "レスポンス",
})
})
r.Run()
}
go run
go runで起動してみます。
% go run main.go
立ち上がったら別のウィンドウで、
% curl http://localhost:8080
{"message":"レスポンス"}
airで動かす
導入
go get -u github.com/cosmtrek/air
% which air
<GOPATH>/go/bin/air
% air -v
__ _ ___
/ /\ | | | |_)
/_/--\ |_| |_| \_ v1.12.1 // live reload for Go apps, with Go1.14.0
go get -u github.com/cosmtrek/air
% which air
<GOPATH>/go/bin/air
% air -v
__ _ ___
/ /\ | | | |_)
/_/--\ |_| |_| \_ v1.12.1 // live reload for Go apps, with Go1.14.0
airが入ったら、go runのかわりにairコマンドで動かします。
$ air
起動したところでmain.goを書き換えます。
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "レスポンスだよ",
})
})
r.Run()
}
% curl http://localhost:8080
{"message":"レスポンスだよ"}
ホットリロードできていました。
Author And Source
この問題について(Go + Air でホットリロード), 我々は、より多くの情報をここで見つけました https://qiita.com/sogafish/items/69cd70ec2660a8335bfc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .