- Created by 郭强, last modified on Sep 27, 2022
大家好,欢迎访问GoFrame
框架的快速章节!由于GoFrame
是一款模块化、低耦合设计的开发框架,包含了常用的基础组件和开发工具,既可以作为完整的业务项目框架使用也可以作为独立的组件库使用。我们为大家提供的快速开始章节,主要以完整的业务项目介绍框架的基本入门和使用。关于独立组件库使用,可以查看独立的组件章节介绍。
如果还没有安装/配置好Golang开发环境的小伙伴,可以先参考下Golang环境搭建:准备工作
安装框架工具
工具地址:https://github.com/gogf/gf/releases
预编译安装
Mac
环境
wget -O gf "https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH)" && chmod +x gf && ./gf install -y && rm ./gf
您可能会遇到以下常见问题:
- 如果当前系统没有安装
wget
命令,那么请使用brew install wget
安装后继续执行该命令。 - 如果您使用的是
zsh
终端,可能会存在gf
别名冲突(git fetch
快捷指令),那么安装后请新开终端或者标签来继续使用。
Linux
环境
wget -O gf "https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH)" && chmod +x gf && ./gf install -y && rm ./gf
如果系统没有安装wget
命令:
Ubuntu/Debian
系统请使用apt-get install wget -y
CentOS/RedHat
系统请使用yum install wget -y
Windows
环境
手动下载对应的二进制文件,双击按照终端指令安装即可。如果双击安装失败,请采用最后万能的手动编译安装方式。
手动编译安装
这是万能的安装方式:
git clone https://github.com/gogf/gf && cd gf/cmd/gf && go install
验证安装成功
$ gf -v GoFrame CLI Tool v2.1.3, https://goframe.org GoFrame Version: cannot find goframe requirement in go.mod CLI Installed At: /Users/john/Workspace/Go/GOPATH/bin/gf CLI Built Detail: Go Version: go1.17.13 GF Version: v2.1.3 Git Commit: 2022-08-22 14:40:48 91d8d71821012aef4a35b5f9e7b4fbfc04f3ffe7 Build Time: 2022-08-22 14:48:37
注意其中的Go/GF Version
是当前编译的二进制文件使用的Golang
及GoFrame
框架版本,其中的GoFrame Version
是当前项目使用的GoFrame
框架版本(自动检测当前目录下的go.mod
)。
创建项目模板
gf init demo -u
该命令创建一个项目模板,项目名称是demo
,其中的-u
参数用户指定是否更新项目中使用的goframe
框架为最新版本。框架有独特的项目工程结构,工程目录结构介绍具体请参考:工程目录设计 。
项目模板中提供了一些make
命令,用于更便捷地使用框架工具,特别是make cli
及make dao
命令在项目开发中比较常用。具体命令介绍请参考项目中的README.MD
。
运行项目模板
项目模板可以执行以下命令运行:
cd demo && gf run main.go
其中的gf run
是框架开发工具的动态编译命令,也可以替换为go run
命令。
执行后,终端输出:
$ cd demo && gf run main.go build: main.go go build -o ./main main.go ./main build running pid: 76159 2022-08-22 12:20:59.058 [INFO] swagger ui is serving at address: http://127.0.0.1:8000/swagger/ 2022-08-22 12:20:59.058 [INFO] openapi specification is serving at address: http://127.0.0.1:8000/api.json 2022-08-22 12:20:59.059 [INFO] pid[76159]: http server started listening on [:8000] ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE ----------|--------|------------|-----------------------------------------------------------------|---------------------------------- :8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE ----------|--------|------------|-----------------------------------------------------------------|---------------------------------- :8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec | ----------|--------|------------|-----------------------------------------------------------------|---------------------------------- :8000 | GET | /hello | demo/internal/controller.(*cHello).Hello | ghttp.MiddlewareHandlerResponse ----------|--------|------------|-----------------------------------------------------------------|---------------------------------- :8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE ----------|--------|------------|-----------------------------------------------------------------|----------------------------------
默认情况下项目会设置Web服务端口为8000
、开启OpenAPI
接口文档、展示Swagger
接口文档页面,这些关键信息都会展示到终端。默认情况下,会打印所有的路由信息到终端,该项目模板只会添加一个仅供演示的路由:/hello
。
默认路由: http://127.0.0.1:8000/hello
Swagger
接口文档页面:
升级框架版本
随时可以在项目根目录下(目录下有go.mod
),执行以下命令更新使用最新的框架版本:
go get -u github.com/gogf/gf/v2
更进一步了解
- No labels
17 Comments
钱波
make命令怎么配置啊?
找不到make命令呢
智刚
Learn Makefiles With the tastiest examples https://makefiletutorial.com/
Unix Makefile 教程 https://lellansin.gitbooks.io/makefile/content/
这俩个教程,多看看
licxpro
基于goframe v2做了通用后台管理系统,求指点推荐 https://gitee.com/licxpro/miaoyu
智刚
可以提交到 https://github.com/gogf/awesome-gf
库
yidashi
居然是layui,看不下去
智刚
咱们要鼓励动起来的兄弟们
小陈
layui招你了?
小林
怎么了,即然你这么看不下去,那过些日子我也基于layui写一个
灰太狼
前端也用点心,,,确实丑的离谱
陈超
::win文件名:creat-goframe-project.bat
@echo off
echo.
echo.
echo ###################### 欢迎使用GoFrame ######################
echo.
echo.
:again
echo 请输入创建的项目名称(回车结束):
set /p name=
if "%name%"=="" (
goto again
)
gf init %name% -u
echo.
echo.
echo 完成 %name% 项目创建,按任意键开始GoFrame之旅吧!
echo.
echo.
pause
solowu
请问有离线文档吗
小陈
同求, 我也希望可以有离线的文档, 主要是我不想持续升级. 现在的gf版本用着已经很舒服了. 我想保存一份备用
小陈
或者谁有办法能离线goframe.org的文档, 我试过几种工具, 都没成功.
郭强
小陈 solowu 官网有历史版本文档 https://goframe.org/spacedirectory/view.action
小陈
好嘞, 谢谢强哥.
林
手动安装无法安装
guoliang_gl_zhou
生成的目录结构里面,每个目录下面建议使用一个空的README.md文件来替代.gitkeep。