statik golang 静态资源嵌入二进制文件工具使用(docker 构建)
发布时间:2020-12-16 09:32:57 所属栏目:大数据 来源:网络整理
导读:? 将静态资源打包进二进制文件有好多方便的地方 方便客户演示 代码简单加密 运行方便 statik 就是一款在golang 中用的比较多,nodejs 有一款pkg (oclif 就推荐使用此工具) statik 安装 go get github.com/rakyll/statik 使用 statik -src= resourceurl 项
将静态资源打包进二进制文件有好多方便的地方
statik 安装go get github.com/rakyll/statik 使用statik -src= resourceurl 项目使用
cd $GOPATH/src/github.com/rongfengliang/webui dep init
//go:generate statik -src=./ui package main import ( "log" "net/http" "github.com/rakyll/statik/fs" _ "github.com/rongfengliang/webui/statik" ) func main() { statikFS,err := fs.New() if err != nil { log.Fatal(err) } http.Handle("/",http.StripPrefix("/ui",http.FileServer(statikFS))) http.ListenAndServe(":10080",nil) }
Dockerfile : # build stage FROM golang:1.10-alpine AS build-env RUN apk --no-cache add build-base git bzr mercurial gcc && go get github.com/rakyll/statik ENV D=/go/src/github.com/rongfengliang/webui ADD . $D RUN cd $D && go generate && go build -o webui . && cp webui /tmp/ FROM alpine:latest WORKDIR /app COPY --from=build-env /tmp/webui /app/webui CMD ["./webui"] docker-compose.yaml: version: "3" services: ui: image: dalongrong/webui build: ./ ports: - "8080:10080" 参考资料https://github.com/rongfengliang/statik-web-demo (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |