使用 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 应用程序即可。
是否可以 运行 使用 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 应用程序即可。