-
Notifications
You must be signed in to change notification settings - Fork 203
Development
zongfei.fu edited this page Aug 27, 2024
·
3 revisions
Note
您需要具备一定的golang开发基础,熟悉gin框架,有vue使用基础,有一定的前端开发能力。
- 开发工具
- vscode
- 开发语言
- Go 1.20
- Vue 2
- 开发框架
- Gin
- Ant-design-vue 1.7.8
git cone https://github.com/lazzyfu/goInsight.git goinsight
项目采用前后端分离进行单独开发。
goinsight // 项目根目录
- goinsight // 后端代码
- goinsight-fe // 前端代码
- ...
前端配置文件为vue.config.js
cd goinsight/goinsight-fe
yarn install # 安装包
yarn run serve # 启动
后端配置文件为config.yaml,本地需要MySQL和Redis,MySQL版本要大于5.7.32,用于项目数据存储。
cd goinsight/goinsight
mkdir dist
touch dist/index.html # 空文件即可
go run main.go -config config.yaml # 启动
将前端代码打包到后端代码目录goinsight/dist
cd goinsight-fe
yarn build ---mode production --dest ../goinsight/dist
打包后端代码并制定版本号,生成可执行文件goInsight
cd goinsight
# 打包为linux amd64
GOOS=linux GOARCH=amd64 go build -o bin/goinsight-linux-amd64 -ldflags "-X main.version=1.2.0" main.go
tar --no-xattrs -cjf goinsight-linux-amd64-v1.2.0.tar.gz goinsight-linux-amd64 config.yaml.template
# 打包为mac arm64
GOOS=darwin GOARCH=arm64 go build -o bin/goinsight-osx-arm64 -ldflags "-X main.version=1.2.0" main.go
tar --no-xattrs -cjf goinsight-osx-arm64-v1.2.0.tar.gz goinsight-osx-arm64 config.yaml.template