Iris框架打包成二进制文件(包含静态文件)

xiaohai 2019-07-07 14:06:24 6423人围观 标签: Go 
简介最近在使用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)

在进行开发的时候先屏蔽掉新加的这样代码;

3、执行go build命令