【问题标题】:Flutter web with Golang Server使用 Golang 服务器进行 Flutter Web
【发布时间】:2020-04-07 13:57:44
【问题描述】:

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

【问题讨论】:

    标签: go flutter-web


    【解决方案1】:

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

    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)
    

    【讨论】:

      【解决方案2】:
      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 应用即可。

      【讨论】:

        猜你喜欢
        • 2018-08-01
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-26
        • 1970-01-01
        • 2012-10-13
        相关资源
        最近更新 更多