demo_docs/Templates/Air Tomb - Golang.md
2025-05-14 09:42:59 +07:00

3.1 KiB

File .air.toml là file cấu hình cho công cụ Air - một công cụ hot-reload dành cho ứng dụng Go. Air giúp các lập trình viên Go phát triển ứng dụng nhanh hơn bằng cách theo dõi các thay đổi trong mã nguồn và tự động biên dịch lại, khởi động lại ứng dụng khi có thay đổi.

# -----------------------------------------------------
# Air Template Configuration - Cấu hình mẫu Air
# Công cụ Hot-reload cho ứng dụng Go
# -----------------------------------------------------

air.toml
# Thư mục gốc của dự án, mặc định là thư mục hiện tại
root = "."

# Thư mục chứa dữ liệu test
testdata_dir = "testdata"

# Thư mục tạm để lưu các file biên dịch
tmp_dir = "tmp"

# Cấu hình quá trình build
[build]
  # Các tham số dòng lệnh được truyền vào file thực thi
  args_bin = []
  
  # Đường dẫn đến file thực thi sau khi biên dịch
  bin = "./tmp/main.exe"
  
  # Lệnh biên dịch ứng dụng
  cmd = "go build -o ./tmp/main.exe ./cmd/server/main.go"
  
  # Độ trễ (millisecond) trước khi khởi động lại sau khi phát hiện thay đổi
  delay = 1000
  
  # Các thư mục bị loại trừ khỏi việc theo dõi
  exclude_dir = ["assets", "tmp", "vendor", "testdata", "node_modules", ".git"]
  
  # Các file cụ thể bị loại trừ khỏi việc theo dõi
  exclude_file = [".gitignore", ".air.toml", "README.md"]
  
  # Loại trừ các file theo biểu thức chính quy
  exclude_regex = ["_test.go", "\\.DS_Store"]
  
  # Có bỏ qua theo dõi các file không thay đổi hay không
  exclude_unchanged = false
  
  # Có theo dõi symbolic link hay không
  follow_symlink = false
  
  # Đường dẫn đầy đủ đến file thực thi (nếu cần các tham số đặc biệt)
  full_bin = ""
  
  # Các thư mục cụ thể cần theo dõi
  include_dir = []
  
  # Chỉ theo dõi các file có phần mở rộng trong danh sách này
  include_ext = ["go", "tpl", "tmpl", "html", "css", "js"]
  
  # Độ trễ trước khi kết thúc tiến trình cũ sau khi tái khởi động
  kill_delay = "0s"
  
  # File log lưu các lỗi build
  log = "build-errors.log"
  
  # Có gửi tín hiệu ngắt đến ứng dụng trước khi kill hay không
  send_interrupt = false
  
  # Có dừng theo dõi khi gặp lỗi build hay không
  stop_on_error = true

# Cấu hình màu sắc cho đầu ra
[color]
  # Màu cho thông tin ứng dụng
  app = "green"
  
  # Màu cho thông tin build
  build = "yellow"
  
  # Màu cho thông tin chung
  main = "magenta"
  
  # Màu cho thông tin runner
  runner = "cyan"
  
  # Màu cho thông tin watcher
  watcher = "blue"

# Cấu hình cho log
[log]
  # Thời gian (ms) giữa các lần update của file log
  time = false
  
  # Có hiển thị màu trong log hay không
  main_only = false

# Cấu hình cho screen
[screen]
  # Có xóa màn hình mỗi khi tái khởi động hay không
  clear_on_rebuild = true
  
  # Có giữ cuộn màn hình hay không
  keep_scroll = true