如何在不进入main.go目录的情况下使用Go热更新工具fresh?

为什么go 热更新工具fresh 需要进入到main.go的目录才能执行的呢?
image.png
image.png
image.png 但是我定义的配置文件在./ 会根据执行时候查找的
我希望在进入到项目就能fresh要怎么配置呢
image.png

百度 知乎

阅读 860
2 个回答

你可以通过指定 --config 参数来告诉 fresh 去哪个目录找配置和入口文件,无需进入 main.go 所在目录。

runner.conf文件配置

root: .
tmp_path: ./tmp
build_name: runner-build
build_log: runner-build-errors.log
valid_ext: .go, .tpl, .tmpl, .html
no_rebuild_ext: .jpg, .jpeg, .png, .gif
ignored: assets, tmp, .git, vendor
build_delay: 600
colors: 1
log_color_main: cyan
log_color_build: yellow
log_color_runner: green
log_color_watcher: magenta
log_color_app: default

# 关键配置 - 指向你的实际入口文件
build_path: ./cmd/server
cmd_path: ./tmp/runner-build

文件位置

runner.conf 文件应该放在项目根目录(和 appadminapicmdconfig 这些文件夹同级):

项目根目录/
├── app/
├── admin/
├── api/
├── cmd/
│   └── server/
│       └── main.go    # ← 你的入口文件在这里
├── config/
├── runner.conf        # ← 配置文件放这里
└── go.mod

使用方式

配置完成后,在项目根目录直接运行:

fresh
推荐问题