我今天项目上碰见个需求,前端小哥给我写了个页面,要搭配我的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
这样就可以调用啦!