Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Golang :: มาทำ Live-reload เมื่อ code เปลี่ยนแปลง

$
0
0

ว่าง ๆ เขียนโปรแกรมด้วยภาษา Go
อยากให้โปรแกรมที่เขียนทำการ reload ทันที
หลังจากที่ทำการเปลี่ยนแปลง code 
นั่นคือทำการ build และ run ใหม่นั่นเอง
มาลองหาวิธีกันดู

ปกติพัฒนาฝั่ง Frontend ทั้ง React/Angular/Vue นั้นมีให้แบบชิว ๆ

แต่ในฝั่ง backend ไม่ค่อยมีเท่าไร
ปกติจะใช้ watch คอยดูว่ามีอะไรเปลี่ยนแปลง
จากนั้นจึงทำการ build และ run ใหม่

มาลองดูสิว่า สำหรับภาษา Go มีอะไรให้ใช้บ้าง ?

เมื่อลองไปค้นหาดูพบว่า มีเพียบเลย ทั้งทำเอง
ทั้งใช้ library ยกตัวอย่างเช่น

มาลองใช้ Air เล่น ๆ กันดู

เริ่มต้นด้วยการติดตั้ง มีทั้ง command line ให้ใช้ และ Docker Image
มาใช้แบบ command line ก็แล้วกัน

การติดตั้งสำหรับ MacOS

[gist id="44a0e5eaf8346e4e7dfb00c7973e9186" file="2.txt"]

ทำการ setup project และใช้ Air ดังนี้

ถ้าต้องการแก้ไข configuration ของ Air
ทำการสร้างไฟล์ .air.conf ขึ้นมา
จากนั้นก็ไป copy มาจากไฟล์ .air.conf.example
แล้วทำการแก้ไขตามที่ต้องการ

ยกตัวอย่างเช่น
ผมทำการย้าย main.go ไปไว้ใน folder cmd ดังนี้

[gist id="44a0e5eaf8346e4e7dfb00c7973e9186" file=".air.conf"]

เมื่อทุกอย่างพร้อมก็ run Air เลย
ถ้าแก้ไขไฟล์ใด ๆ จะทำการ reload ใหม่
นั่นคือการ build และ run นั่นเอง ได้ผลดังนี้

[gist id="44a0e5eaf8346e4e7dfb00c7973e9186" file="1.txt"]

เพียงเท่านี้ก็สามารถมี Live reload ของระบบงานที่พัฒนาด้วยภาษา Go แล้ว
ง่าย ๆ มาก

ตัวอย่างของ project ที่ลองใช้อยู่ที่ GitHub:Up1


Viewing all articles
Browse latest Browse all 1997

Trending Articles