Golang Go语言中 有用过 packr 这个包吗?请教几个问题
Golang Go语言中 有用过 packr 这个包吗?请教几个问题
github 链接:github.com/gobuffalo/packr/tree/master/v2
我想用它把前端文件打包的 go 的 binary 文件里
参照官方文档的步骤,打包成功了,binary 也变大了许多,从文件大小上看应该是把前端文件给打进去了,但是我把前端文件删掉之后,访问就 404 了
难道还得保留前端文件吗?那这样的话打包还有什么意义呢?
Usage with HTTP:github.com/gobuffalo/packr/tree/master/v2#usage-with-http
更多关于Golang Go语言中 有用过 packr 这个包吗?请教几个问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
打包进去了,但是我估计你用的地方 PATH 也许需要改。。。
更多关于Golang Go语言中 有用过 packr 这个包吗?请教几个问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
我打包之后,先保留前端文件,运行正常。 当我把前端文件删了或者把文件夹改个名字就 404 了
方便部署吧
#3 这样子的话就只需要部署一个二进制程序到服务器,不需要整个文件夹都过去了
打成 docker 镜像吧
对的。方便部署是一方面。 假如前后端分离的项目,前端要用 nginx 代理一个,后端也要用 Nginx 代理一下, 有点费事。
就这一个,而且还是交给客户部署。打成 docker,还得教他们用 docker…
如果操作没错的话应该不会有你说的删除就 404 的。
你是不是删除文件后又重新编译了一次然后再运行的?或者是直接 go run 执行?
没有的,我的步骤是 先 packr 然后 go build 出 binary 文件
然后运行这个 binary 文件,正常。 这时候删掉前端文件就 404 了
#10 直接 packr build 不用再 go build 了
等于说你直接把 packr 命令用来替换掉原来的 go 命令,参数不变
肯定是你的相对路径配置问题,或者没有执行编译转换
问题解决了
之前没仔细看用的是 v1 的版本,换成 v2 后就可以了。 不过 v2 有个 bug 是:too many redirects。 该了修改了源代码里一个地方,目前正常了
有一个外包项目,甲方有加密软件包的需求,所以需要打成一个 exe 文件,然后通过序列号打开应用。
作为IT领域的GO语言专家,对于Golang中的各类包有深入了解,packr
这个包也有所接触。下面针对你的问题进行简要解答:
packr
是一个在Go语言中用于将静态文件(如HTML、CSS、JS和图片等)嵌入到Go二进制文件中的工具/包。它使得开发者可以将这些文件打包进Go的可执行文件中,从而简化部署和分发。
关于packr
的常见问题可能包括:
-
如何使用
packr
:- 安装
packr
命令行工具。 - 使用
packr
命令将静态文件打包。 - 在Go代码中通过
packr
提供的API访问这些文件。
- 安装
-
packr
的优势:- 简化部署,因为所有文件都打包在一个二进制文件中。
- 提高访问速度,因为文件是内嵌在二进制文件中的,不需要额外的I/O操作。
-
注意事项:
- 打包后的二进制文件可能会变大,因为包含了所有静态文件。
- 需要确保
packr
版本与Go语言版本兼容。
希望这些信息对你有所帮助。如果你有更具体的问题或需要进一步的帮助,请随时提问。