From 005afe2c910df3d046a03ac6d8e888ed13607f34 Mon Sep 17 00:00:00 2001 From: gaoshuaixing Date: Thu, 26 Sep 2024 11:17:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=88=86=20go=E7=9A=84=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + electron/config/bin.js | 6 ++++ go/config/.air.toml | 1 - go/config/.air.windows.toml | 61 +++++++++++++++++++++++++++++++++++++ package.json | 1 + 5 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 go/config/.air.windows.toml diff --git a/.gitignore b/.gitignore index 1847c19..0edbbbc 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ python/*.spec python/build/ python/dist/ *DS_Store +go/tmp diff --git a/electron/config/bin.js b/electron/config/bin.js index b698c1b..b1c4300 100644 --- a/electron/config/bin.js +++ b/electron/config/bin.js @@ -140,6 +140,12 @@ module.exports = { cmd: 'air', args: ['-c=config/.air.toml' ], }, + // windows 单独调试,air 实现 go 热重载 + go_w: { + directory: './go', + cmd: 'air', + args: ['-c=config/.air.windows.toml' ], + }, // 单独调试,以基础方式启动 go go2: { directory: './go', diff --git a/go/config/.air.toml b/go/config/.air.toml index f3848dc..66a8c75 100644 --- a/go/config/.air.toml +++ b/go/config/.air.toml @@ -3,7 +3,6 @@ tmp_dir = "tmp" [build] # 编译使用的shell命令 -# Windows 系统,tags 添加 windows cmd = "go build -tags=fts5 -o ./tmp/goapp ./main.go" # 由`cmd`命令得到的二进制文件名 diff --git a/go/config/.air.windows.toml b/go/config/.air.windows.toml new file mode 100644 index 0000000..300e2cd --- /dev/null +++ b/go/config/.air.windows.toml @@ -0,0 +1,61 @@ +root = "." +tmp_dir = "tmp" + +[build] +# 编译使用的shell命令 +cmd = "go build -tags=fts5 -o ./tmp/goapp.exe ./main.go" + +# 由`cmd`命令得到的二进制文件名 +bin = "./tmp/goapp.exe --basedir=../ --env=dev --port=7003" +# 在运行二进制文件时添加额外的参数 (bin/full_bin)。将运行“./tmp/main hello world” +# args_bin = ["hello", "world"] + +# 如果文件更改过于频繁,则没有必要在每次更改时都触发构建。可以设置触发构建的延迟时间/毫秒 +delay = 1000 + +# 忽略(不监听)文件的扩展名或目录 +exclude_dir = ["tmp", "public"] + +# 监听指定目录的文件 +# include_dir = [] + +# 监听扩展名的文件 +include_ext = ["go", "mod", "sum", "json", "tpl", "tmpl", "html"] + +# 忽略(不监听)指定文件 +exclude_file = [] + +# 忽略符合通过正则匹配到的文件 +exclude_regex = [] + +# 忽略未进行修改的文件 +exclude_unchanged = true + +# 按照目录的符号链接 +follow_symlink = false + +# 杀死进程前发送中断信号(Windows不支持) +send_interrupt = true +# 发送中断信号后延迟时间/毫秒 +kill_delay = 2000 + +# 发生构建错误时,停止运行旧的二进制文件 +stop_on_error = true + +# 这个日志文件放在你的`tmp_dir`中 +log = "air.log" + +[log] +# 显示日志时间 +time = true + +[color] +# 自定义每个部分的颜色。如果未找到颜色,请使用原始应用程序日志。 +main = "magenta" +watcher = "cyan" +build = "yellow" +runner = "green" + +[misc] +# 退出时删除 tmp 目录 +clean_on_exit = true \ No newline at end of file diff --git a/package.json b/package.json index c2e1878..a619af2 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "dev-frontend": "ee-bin dev --serve=frontend", "dev-electron": "ee-bin dev --serve=electron", "dev-go": "ee-bin exec --cmds=go", + "dev-go-w": "ee-bin exec --cmds=go_w", "dev-python": "ee-bin exec --cmds=python", "build-frontend": "ee-bin build --cmds=frontend && ee-bin move --flag=frontend_dist", "build-go-w": "ee-bin move --flag=go_static,go_config,go_package,go_images && ee-bin build --cmds=go_w",