用Flutter打包了一个web应用,怎么让Go启动web服务,并使用web包中的资源

1. 运行环境

win10 因特尔处理器
go版本为1.17.6

2. 问题描述?

我用flutter build了一个web包,想用Go启动服务并访问web包资源

用Flutter打包了一个web应用,怎么让Go启动web服务,并使用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目录结构

用Flutter打包了一个web应用,怎么让Go启动web服务,并使用web包中的资源

3. 您期望得到的结果?

我想要得到的结果如下:

用Flutter打包了一个web应用,怎么让Go启动web服务,并使用web包中的资源

4. 您实际得到的结果?

用Flutter打包了一个web应用,怎么让Go启动web服务,并使用web包中的资源

5.web包资源

gitee.com/yen9/web-package

解决了

main.go

package main

import (
    "net/http"
)

func main() {
    http.Handle("/", http.FileServer(http.Dir("./web/")))
    http.ListenAndServe(":8080", nil)
}

用Flutter打包了一个web应用,怎么让Go启动web服务,并使用web包中的资源

用Flutter打包了一个web应用,怎么让Go启动web服务,并使用web包中的资源

最佳答案

你这是把Flutter打包成静态文件了,然后使用go打造一个静态web服务器。 go静态web服务器可以使用http.FileServerhttp.Dir进行构建

3年前 评论
9yen (楼主) 3年前
讨论数量: 4
zhaocrazy

go 提供接口 flutter 访问就好了

3年前 评论
9yen (楼主) 3年前

你这是把Flutter打包成静态文件了,然后使用go打造一个静态web服务器。 go静态web服务器可以使用http.FileServerhttp.Dir进行构建

3年前 评论
9yen (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!