go语言部署问题
java部署可以生成war,war其实是可以用解压文件看到文件内容的;
php部署后更是可以直接看到源码;
nodejs部署后也可以看到源码
唯独go语言不同,例如我们使用gin这个web框架,go build后就能生成一个可执行文件,这样问题就来了,我们如果想在线热更新一个css文件,那就得重新go build。我用的是mac,可执行文件肯定不能直接上传linux,得在linux环境有一套源码,从而go build后生成linux可运行的文件。我想目前流行前后端分离,go语言只提供api就可以。mvc模式还是php的好
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
讲一下我个人的一些见解,中间有错误请在评论区指出。
首先题主说的问题确实存在但是中间有一些前提条件没有理解。Java之所以可以生成war包是因为Java是需要编译成为class文件的,这个class文件并不可以直接运行,它需要JVM才能变成可以运行的。PHP和NodeJs同理。他们都需要一个解释中间文件的步骤。所以可能在单机部署时会有点便利(rpc推上去直接可以运行)
Go语言如果前后端不分离确实还是比较困难的,而且写api是目前主流的方式。
楼上也说了可以交叉编译,这是一种思路。但是个人建议题主可以熟悉一下Jenkins和K8S,以后部署的时候只需要点一下构建就可以直接运行整个流程。
可以通过交叉编译在Mac中打包Linux的可执行文件
css一般不属于代码文件,特殊情况可以通过其他方法编译进去,但是绝大部分情况都是独立的。因为这些资源本身就是独立的,比如相比于接口api,css一般会加上cdn等等。