将前端文件和Go程序打包

我今天项目上碰见个需求,前端小哥给我写了个页面,要搭配我的Go程序一起使用,突然想到Go可以打包静态页面,而且调用也很方便,所以操作了一下,成功,我把它记录下来,作为以后的回顾和复习。

首先,我们需要下载两个Go的包:

go get github.com/jteeuwen/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...

 这两个包是作为打包静态文件是使用的,所以,你必须有这两个包

我的前端文件有一个js文件夹,一个index.html文件,我将它们放置在static文件夹下,我的Go程序名为Wopi-server.go,它和static被一起放置在wopi文件夹下

现在进入wopi文件夹执行

go-bindata-assetfs static/... 

 意思是写入static文件夹下的所有文件到bindata_assetfs.go 文件

现在你可以看见,文件夹下有了一个bindata_assetfs.go文件,bindata_assetfs.go文件中提供了名为 assetFS() 的函数,它返回包含了static文件内容的 http.Filesystem。

现在就是调用了,直接在项目里写入

http.Handle("/", http.StripPrefix("/", http.FileServer(assetFS))

 然后go build

 这样就可以调用啦!

 

原文地址:https://www.cnblogs.com/Yemilice/p/8022617.html