Air를 사용하여 Golang에서 라이브 리로딩
NodeJS 기반 프레임워크와 Angular 및 React와 같은 프런트엔드 프레임워크로 작업한 경험이 있는 대부분의(전부는 아니지만) 라이브 리로딩이 내장되어 있습니다. Flutter와 같은 일부 프레임워크는 stateful을 사용하여 이를 조금 더 발전시켰습니다. 자세한 내용은 다루지 않겠습니다.
최근에 Golang을 사용하기로 전환하면서 이 문제를 해결해야 한다는 것을 깨달았습니다. 운 좋게도 이 동작을 가능하게 하는 몇 가지 훌륭한 옵션이 있습니다. 그 중 하나는 Air (github.com/cosmtrek/air) - Golang 앱용 실시간 재로딩 도구입니다.
마이나 위클리프
@mwycliffe_dev
Angular, React와 같은 프런트엔드 프레임워크로 많은 시간을 보냈고 작업할 때 정말 놓친 한 가지는 코드베이스를 변경할 때 실시간 다시 로드하는 것이었습니다.
오전 07:26 - 2022년 4월 4일
github.com/cosmtrek/air 에어 설치
먼저
air
를 설치하겠습니다. air
를 설치하는 방법은 여러 가지가 있지만 제가 한 방법은 Golang이 이미 설치되어 있었기 때문에 go install
를 사용하는 것이었습니다.go install github.com/cosmtrek/air@latest
찾을 수 있는 다른 여러 설치 옵션이 있습니다 .
여기 공기 구성
다음으로 Golang 프로젝트에 대해 Air를 구성해야 합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.
air init
이렇게 하면 Air의 기본 구성을 포함하는
air.toml
파일이 생성됩니다. 다음은 그 예입니다.root = "."
testdata_dir = "testdata"
tmp_dir = "tmp"
[build]
bin = "./tmp/main"
cmd = "go build -o ./tmp/main ."
delay = 1000
exclude_dir = ["assets", "tmp", "vendor", "testdata"]
exclude_file = []
exclude_regex = ["_test.go"]
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
[screen]
clear_on_rebuild = false
다음으로, 관심을 가질 수 있고 프로젝트를 위해 업데이트할 수 있는 몇 가지 주목할만한 구성을 강조하겠습니다.
build
의 air.toml
에서 ; cmd
속성을 변경할 수 있습니다. golang 애플리케이션의 항목이 server
와 같이 다른 디렉토리에 있는 경우 속성을 다음과 같이 변경할 수 있습니다.cmd = "go build -o ./tmp/main ./server/main.go"
주목해야 할 또 다른 구성 속성 세트는
include_dir
, include_ext
, exclude_dir
및 exclude_file
항목입니다. include_dir
및 include_ext
는 실시간 재로드 시 변경 사항을 감시할 dir 및 확장자를 Air에 알리고, exclude_dir
및 exclude_file
는 변경 사항을 수신하지 않는 디렉터리, 확장자 및 파일을 air에 알립니다.특정 패턴과 일치하는 파일, 즉 기본적으로 테스트 파일과 일치하는 파일을 무시할 수 있는
exclude_regex
속성도 있습니다. 이러한 구성을 통해 앱 구조에 따라 Air를 구성할 수 있습니다.Air 구성에 대한 자세한 내용은 예제 파일 을 참조하십시오.
여기 앱 실행
마지막으로 남은 부분은 Air를 사용하여 Golang 애플리케이션을 실행하는 것입니다.
air
명령을 실행하여 이 작업을 수행할 수 있습니다.air
그런 다음 프로젝트를 변경하고 Go 애플리케이션을 실시간으로 새로고침하는 것을 시청하세요.
결론
이 기사에서는 코드베이스를 변경할 때 Air를 사용하여 Go 애플리케이션을 실시간으로 다시 로드하는 방법을 배웠습니다. 초기화 방법, 변경할 수 있는 구성 및 나중에 응용 프로그램을 시작하는 방법을 배웠습니다.
계속해서 Air에 대해 자세히 알아보려면 Github 저장소 를 방문하십시오.
Reference
이 문제에 관하여(Air를 사용하여 Golang에서 라이브 리로딩), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/this-is-learning/live-reloading-in-golang-using-air-1lho텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)