Iris框架打包成二进制文件(包含静态文件)
简介最近在使用Golang的WEB框架Iris做了一个小的系统,但是里面有一些静态的资源,如css、js、html文件,如果只是通过go build打包的这些静态文件是打包不进去的,所以本文主要记录下如何将所以文件都打包的二进制文件中。
本文主要记录如何打包Golang的Iris框架写的WEB项目,目录结构如下:
assets css js templates index.html ...(其他的html文件) src ...(web相关的controller,model,service) main.go
这里贴一下main.go文件中如何加载的模板文件:
// 加载视图模板地址
tmpl := iris.HTML("./assets/templates", ".html")
app.RegisterView(tmpl)
上面的代码是不需要打包的基本代码结构。如果我们需要打包这里的静态文件,就需要安装一个第三方包,安装命令如下:
go get -u github.com/jteeuwen/go-bindata/... #后面三个点必须要,不是写错了
下面我们正式进入打包的流程。
1、首先通过go-bindata命令打包assets下的所有文件
go-bindata ./assets/...
打包完成后会生成一个bindata.go
2、修改main.go代码
// 加载视图模板地址
tmpl := iris.HTML("./assets/templates", ".html")
tmpl.Binary(Asset, AssetNames) //新添加这一行代码
app.RegisterView(tmpl)
在进行开发的时候先屏蔽掉新加的这样代码;