Go 工程目录结构
.
|-- dist
| |-- assets
| | |-- index.263506ea.js
| | |-- index.6f3e7c5a.css
| | `-- vendor.bd15b400.js
| |-- dist.go
| |-- favicon.ico
| `-- index.html
|-- go.mod
|-- go.sum
`-- main.go
注意上面第二行目录 其实也就是直接把 vue 构建好的项目目录, 然后在里面新建一个文件
相关Go 文件
第七行 dist.go
// dist/dist.go
package dist
import "embed"
//go:embed *
var Static embed.FS
第12行 main.go
package main
import (
"gin-vue/dist"
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.StaticFS("/static", http.FS(dist.Static))
r.GET("/", func(c *gin.Context) {
c.Request.URL.Path = "/static"
r.HandleContext(c)
})
r.Run(":8080")
}
上面第4行中的 gin-vue
改成你的go项目名称, 也就是 go.mod
文件中的模块名
关于vue3的访问路径 /static
上面将vue项目文件放置到了二级目录,构建vue应用是需要改构建后路径
如果你是 vite 构建
修改 vue 项目中的 package.json
配置文件中的 scripts >> build