# go-exe **Repository Path**: JYVFJ/go-exe ## Basic Information - **Project Name**: go-exe - **Description**: golang 打包成exe 嵌入vue页面 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-29 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AY-activity Java太占用内存,使用GO重构该项目 ## 微信公众号登录 安装依赖 ```bash go get -u github.com/silenceper/wechat/v2 ``` ## 代理 ```bash go env -w GOPROXY=https://goproxy.cn ``` ## 刷新依赖 ```shell go mod tidy ``` ## 打包Linux ```shell # 一定要在cmd 窗口运行 set GOARCH=amd64 set GOOS=linux go-bindata -o bindata.go -pkg main templates/... static/... rsrc -ico favicon.ico -o rsrc.syso go build ``` ## 打包Win ```bash # 一定要在cmd 窗口运行 set GOARCH=amd64 go-bindata -o bindata.go -pkg main templates/... static/... rsrc -ico favicon.ico -o rsrc.syso go build -o myapp.exe # 或 go build -o app.exe .\main_release.go .\bindata.go ``` ### 静态资源打包进exe 打开浏览器原理 ```bash start "" "http://www.google.com" ``` 前端使用的是vue,核心配置 ```vue import { defineConfig } from 'vite' import { resolve } from 'path' import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue()], base: './', // 重要:设置为相对路径 build: { outDir: '../templates', // 输出到Go项目的templates目录 assetsDir: 'assets' }, resolve: { alias: { '@': resolve(__dirname, 'src') } } }) ``` **1.下载依赖** `go install github.com/go-bindata/go-bindata/v3/go-bindata@latest` ```go package main import ( "ay-activity/config" "ay-activity/routers" "ay-activity/utils" "fmt" "github.com/gin-gonic/gin" "time" ) func main() { // 创建一个默认的路由引擎 r := gin.Default() // 使用跨域 r.Use(config.Cors()) //配置静态web目录 第一个参数表示路由, 第二个参数表示映射的目录 r.Static("/static", "./static") r.Static("/assets", "./templates/assets") r.Static("/css", "./templates/css") r.Static("/js", "./templates/js") r.LoadHTMLGlob("templates/*.html") // 使用默认路由 routers.DefaultRoutersInit(r) //port := config.Config.Server.Port go func() { // 等待服务器启动完成 time.Sleep(2 * time.Second) url := "http://localhost:" + fmt.Sprintf("%d", 8888) fmt.Printf("正在尝试打开浏览器访问: %s\n", url) err := utils.OpenBrowser(url) if err != nil { fmt.Printf("打开浏览器失败: %v\n", err) fmt.Printf("请手动在浏览器中访问: %s\n", url) } else { fmt.Printf("浏览器已成功启动\n") } }() r.Run(fmt.Sprintf(":%d", 8888)) } ``` **2.根目录执行** `go-bindata -o bindata.go -pkg main templates/... static/...` `go build -o myapp.exe` ### 更改图标 **1.下载依赖** `go install github.com/akavel/rsrc@latest` ```bash # 生成资源文件(包含图标) rsrc -ico app.ico -o rsrc.syso ```