Skip to content

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