【发布时间】:2020-04-07 13:57:44
【问题描述】:
是否可以使用 golang 服务器运行 Flutter Web 构建? Golang 可以提供 html 文件,flutter web 提供 index.html 和 js 文件的输出。 如果可能,那么 golang 代码应该是什么样子?
【问题讨论】:
标签: go flutter-web
是否可以使用 golang 服务器运行 Flutter Web 构建? Golang 可以提供 html 文件,flutter web 提供 index.html 和 js 文件的输出。 如果可能,那么 golang 代码应该是什么样子?
【问题讨论】:
标签: go flutter-web
正如友好的文档所提到的,我相信你必须构建你的应用程序。
https://flutter.dev/docs/get-started/web#build
运行以下命令生成发布版本:
flutter build web
这会使用需要一起提供的构建文件(包括资产目录)填充 build/web 目录。
golang 代码应该是什么样子?
与任何其他常规 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 应用即可。
【讨论】: