登录
首页 >  Golang >  Go问答

在Golang服务器上运行Flutter Web应用程序

来源:stackoverflow

时间:2024-03-26 21:00:39 352浏览 收藏

在 Golang 中运行 Flutter Web 应用程序是可能的。首先,构建 Flutter Web 应用并生成以 index.html 和 js 文件形式输出的发布版本。然后,编写一个 Golang HTTP 服务器代码,使用 http.FileServer 处理来自 "build/web" 目录的请求,并监听端口 8080。通过将 web 文件夹复制到 Golang 应用程序中,用户可以轻松使用 Golang 服务器提供 Flutter Web 应用程序。

问题内容

是否可以使用golang服务器运行flutter web build? Golang 具有提供 html 文件的功能,而 flutter web 则以 index.html 和 js 文件的形式提供输出。 如果可能的话,golang 代码应该是什么样子?


解决方案


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

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 应用即可。

终于介绍完啦!小伙伴们,这篇关于《在Golang服务器上运行Flutter Web应用程序》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>