用Flutter打包了一个web应用,怎么让Go启动web服务,并使用web包中的资源
1. 运行环境
win10 因特尔处理器
go版本为1.17.6
2. 问题描述?
我用flutter build了一个web包,想用Go启动服务并访问web包资源
代码:
package main
import (
"html/template"
"log"
"net/http"
)
func main() {
port := "80"
http.HandleFunc("/", func(res http.ResponseWriter, req *http.Request) {
t, err := template.ParseFiles("./web/index.html")
if err != nil {
log.Println("err:", err)
return
}
t.Execute(res, nil)
})
http.ListenAndServe(":"+port, nil)
}
web目录结构
3. 您期望得到的结果?
我想要得到的结果如下:
4. 您实际得到的结果?
5.web包资源
解决了
main.go
package main
import (
"net/http"
)
func main() {
http.Handle("/", http.FileServer(http.Dir("./web/")))
http.ListenAndServe(":8080", nil)
}
你这是把Flutter打包成静态文件了,然后使用go打造一个静态web服务器。 go静态web服务器可以使用
http.FileServer
、http.Dir
进行构建