当前位置: 首页 > news >正文

Go项目踩坑:go get下载超时,goFrame框架下的go项目里将vue项目的dist同步打包发布,go项目打包并压缩

Go项目踩坑:go get下载超时,goFrame框架下的go项目里将vue项目的dist同步打包发布,go项目打包并压缩

  • go get下载超时
  • goFrame打包静态资源
    • vue项目打包
    • gf pack生成go文件
  • 静态资源使用
  • 打包发布go项目
    • 交叉编译,省略一些不必要的信息
    • 通过upx进行再一次的压缩
    • 将可执行文件上传至服务器

go get下载超时

//解决下载超时问题
go env -w GO111MODULE=on 
go env -w GOPROXY=https://goproxy.io,direct

goFrame打包静态资源

vue项目打包

npm run build

将打包生成的dist文件夹放入go项目中
在这里插入图片描述

gf pack生成go文件

将任意文件/目录打包为Golang源码文件,并且编译到可执行文件中,随着可执行文件发布

gf pack template packed/vue.go -n packed

template下的dist文件打包生成go的文件放在packed文件夹下
在这里插入图片描述

Add将content解压并添加到默认资源对象。prefix是非必要参数,表示存储到当前资源对象中的每个文件的前缀
生成的文件内容:
在这里插入图片描述

静态资源使用

gres.Dump()查看资源管理器内容
设置serverRoot= “template/dist”
通过import引入vue.go文件,可以随着build同步打包

import ("github.com/gogf/gf/v2/net/ghttp""os"_ "foxess.ems/packed""github.com/gogf/gf/v2/frame/g"
)
func main() {s := g.Server()s.SetPort(4444)router.Bind(s)//gres.Dump()s.SetServerRoot("template/dist")s.SetFileServerEnabled(true)s.BindHandler("/", func(r *ghttp.Request) {path, _ := os.Getwd()r.Response.WriteTpl(path+"/template/dist/index.html", g.Map{"host":    r.Host,"version": def.VERSION,})})s.Run()
}

在这里插入图片描述

打包发布go项目

交叉编译,省略一些不必要的信息

CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -ldflags "-s -w"  //交叉编译,压缩

通过upx进行再一次的压缩

sudo upx -9 --brute foxess.ems

在这里插入图片描述

将可执行文件上传至服务器

scp foxess.ems xxx@xx.xxx.xx.xxx:/home/foxess.ems

运行

sudo ./foxess.ems
http://www.lryc.cn/news/197440.html

相关文章:

  • DataCon【签到题】挖矿流量检测
  • Vivado详细使用教程 | LED闪烁示例
  • 一些经典的神经网络(第17天)
  • Hadoop-HA-Hive-on-Spark 4台虚拟机安装配置文件
  • Hutool工具类参考文章
  • 【 Python ModuleNotFoundError: No module named ‘xxx‘可能的解决方案大全】
  • eclipse 配置selenium环境
  • 数据挖掘(6)聚类分析
  • 在启智平台上安装anconda
  • 棒球省队建设实施办法·棒球1号位
  • 架构案例2017(五十二)
  • 给四个点坐标计算两条直线的交点
  • 从入门到进阶 之 ElasticSearch SpringData 继承篇
  • 中文编程开发语言工具编程案例:计时计费管理系统软件连接灯控器编程案例
  • YOLOv7改进:动态蛇形卷积(Dynamic Snake Convolution),增强细微特征对小目标友好,实现涨点 | ICCV2023
  • 从文心大模型4.0与FuncGPT:用AI为开发者打开新视界
  • Nginx集群负载均衡配置完整流程
  • 如何生成SSH服务器的ed25519公钥SHA256指纹
  • 设计模式:抽象工厂模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)
  • ocpp-远程启动(RemoteStartTransaction)、远程停止(RemoteStopTransaction)
  • 【网络安全】安全的系统配置
  • conda使用一般步骤
  • 如何做好需求收集?方法和步骤
  • SpringBoo整合WebSocket实战演练——Java入职十三天
  • 众佰诚:抖音小店的体验分什么时候更新
  • 详解cv2.addWeighted函数【使用 OpenCV 添加(混合)两个图像-Python版本】
  • 单链表经典OJ题:反转链表
  • 软考高级信息系统项目管理师系列论文六:论信息系统项目的人力资源管理
  • Kubeadm部署k8s集群
  • YOLOv7改进:新机制,扩展DCNv3,基于DCNv2优化 | CVPR2023 InternImage