go语言部署问题

发布于 2022-09-13 01:15:27 字数 282 浏览 18 评论 0

java部署可以生成war,war其实是可以用解压文件看到文件内容的;
php部署后更是可以直接看到源码;
nodejs部署后也可以看到源码

唯独go语言不同,例如我们使用gin这个web框架,go build后就能生成一个可执行文件,这样问题就来了,我们如果想在线热更新一个css文件,那就得重新go build。我用的是mac,可执行文件肯定不能直接上传linux,得在linux环境有一套源码,从而go build后生成linux可运行的文件。我想目前流行前后端分离,go语言只提供api就可以。mvc模式还是php的好

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冰之心 2022-09-20 01:15:27

讲一下我个人的一些见解,中间有错误请在评论区指出。

首先题主说的问题确实存在但是中间有一些前提条件没有理解。Java之所以可以生成war包是因为Java是需要编译成为class文件的,这个class文件并不可以直接运行,它需要JVM才能变成可以运行的。PHP和NodeJs同理。他们都需要一个解释中间文件的步骤。所以可能在单机部署时会有点便利(rpc推上去直接可以运行)

Go语言如果前后端不分离确实还是比较困难的,而且写api是目前主流的方式。

楼上也说了可以交叉编译,这是一种思路。但是个人建议题主可以熟悉一下Jenkins和K8S,以后部署的时候只需要点一下构建就可以直接运行整个流程。

孤独难免 2022-09-20 01:15:27

可以通过交叉编译在Mac中打包Linux的可执行文件

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
吃不饱 2022-09-20 01:15:27

css一般不属于代码文件,特殊情况可以通过其他方法编译进去,但是绝大部分情况都是独立的。因为这些资源本身就是独立的,比如相比于接口api,css一般会加上cdn等等。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文