Selama development, tiap kali kita mengubah kode program kita harus stop lalu jalankan ulang go run . secara manual. Di part ini kita akan pasang Air, live-reload tool untuk aplikasi Go, supaya server otomatis restart setiap ada perubahan kode.
Apa itu Air
Air adalah live-reload command line utility untuk aplikasi Go. Mirip seperti nodemon di dunia Node.js — Air akan memantau perubahan file, lalu otomatis build ulang dan restart aplikasi kita.
Instalasi Air
Install Air secara global dengan perintah berikut:
go install github.com/air-verse/air@latest
Pastikan direktori $GOPATH/bin sudah masuk ke PATH supaya command air bisa dipanggil langsung dari terminal. Cek instalasinya dengan:
air -v
Konfigurasi Air
Air butuh file konfigurasi .air.toml di root project. Kita bisa generate otomatis dengan:
air init
Berikut isi .air.toml yang dipakai di project Goravel kita:
root = "."
tmp_dir = "storage/temp"
[build]
bin = "./storage/temp/main.exe"
cmd = "go build -o ./storage/temp/main.exe ."
delay = 1000
exclude_dir = ["storage", "database"]
exclude_file = []
exclude_regex = []
exclude_unchanged = false
follow_symlink = false
full_bin = ""
include_dir = []
include_ext = ["go", "tpl", "tmpl", "html"]
kill_delay = "0s"
log = "build-errors.log"
send_interrupt = false
stop_on_error = true
[color]
app = ""
build = "yellow"
main = "magenta"
runner = "green"
watcher = "cyan"
[log]
time = false
[misc]
clean_on_exit = false
Beberapa bagian penting dari konfigurasi di atas:
tmp_dir— folder untuk menyimpan binary hasil build sementara (storage/temp)cmd— perintah build yang dijalankan Air setiap ada perubahanexclude_dir— folder yang tidak perlu dipantau perubahannya (storage,database) supaya Air tidak rebuild terus-terusan saat ada file log atau migration baruinclude_ext— ekstensi file yang dipantau, dalam kasus kita cukup file.go
Menjalankan Air
Setelah konfigurasi siap, jalankan project menggunakan:
air
Sekarang setiap kali kita menyimpan perubahan pada file .go, Air otomatis mendeteksi perubahan tersebut, build ulang project, lalu restart server — tanpa kita perlu stop dan go run . manual lagi. Ini akan sangat membantu kecepatan development di part-part selanjutnya.
Video Tutorial
Tutorial dalam bentuk video dapat di akses di channel Youtube IndoKoding: https://www.youtube.com/watch?v=IvzQtXjAlss
Bagian dari Series: Seri Tutorial Belajar Framework Goravel Rest API untuk Pemula
Overview Seri ini membahas cara membangun REST API menggunakan Goravel, framework web berbasis Golang yang terinspirasi dari Laravel. Materi mencakup...
Lihat Series Lengkap