使用 Golang 服务器的 Flutter Web

Flutter web with Golang Server

是否可以 运行 使用 golang 服务器构建 flutter web? Golang 可以提供 html 文件,而 flutter web 提供 index.html 和 js 文件的输出。 如果可能,那么 golang 代码应该是什么样子?

正如友好的文档所提到的,我相信您必须构建您的应用程序。

https://flutter.dev/docs/get-started/web#build

运行 以下命令生成发布版本:

flutter build web

这会用构建文件填充 build/web 目录,包括需要一起提供的资产目录。

how golang code should look like?

与任何其他常规 HTTP golang 服务器一样。

http.Handle("/build/web/", http.StripPrefix("/build/web/", http.FileServer(http.Dir("build/web"))))

http.ListenAndServe(":8080", nil)
package main

import (
    "flag"
    "log"
    "net/http"
)

func main() {
    port := flag.String("p", "8181", "port to serve on")
    directory := flag.String("d", "web", "the directory of static file to host")
    flag.Parse()
    http.Handle("/", http.FileServer(http.Dir(*directory)))
    log.Printf("Serving %s on HTTP port: %s\n", *directory, *port)
    log.Fatal(http.ListenAndServe(":"+*port, nil))
}

只需将 web 文件夹复制到您的 go 应用程序即可。