# 快速开始 ## 单文件方式 单文件版本可以快速启动 Orange 框架构建一个简单的 http 服务, 第一步:在 GOPATH 目录下创建一个目录 demo,并在目录中创建一个 main.go,写入代码: ~~~ package main import "gitee.com/zhucheer/orange/app" func main(){ router := &Route{} app.AppStart(router) } type Route struct { } func (s *Route) ServeMux() { app.NewRouter("").GET("/", func(ctx *app.Context) error { return ctx.ToString("Hello world!") }) } func (s *Route) Register() { } ~~~ 第二步:安装依赖 如果 go 版本小于 1.13 ``` window 下在 cmd 中执行: set GO111MODULE=on set GOPROXY=https://goproxy.cn linux 下执行: export GO111MODULE=on export GOPROXY=https://goproxy.cn ``` 如果 go 版本大于等于 1.13 ``` go env -w GOPROXY=https://goproxy.cn,direct ``` 然后在项目目录下面执行命令 > go mod init // 初始化go mod 包管理 > go mod tidy // 加载依赖包 > go mod vendor // 将依赖包拷贝到项目目录中去 > go run main.go 以该方式启动仅作为演示或调试时使用,如果需要利用 Orange 构建一个 Web 服务产品,还请使用脚手架方式构建项目; ***** ## 脚手架方式 通过脚手架方式安装 Orange 可以生成一个完整的 mvc 目录结构,通过该方式可以构建一个完整的 http 服务项目。 ### 安装 > 下载项目 `go get gitee.com/zhucheer/orange ` ### 创建一个新项目 ``` > orange create project // 命令执行后将会在GOPATH/src目录下生成项目 ``` 如果出现 orange 命令不存报错在则需要将 GOBIN 添加到环境变量。 ### 启动项目 - 通过 go mod 管理相关依赖, 如果 go 版本小于 1.12 需要手动开启 go mod 功能; ``` window 下在 cmd 中执行:set GO111MODULE=on linux 下执行:export GO111MODULE=on ``` - go1.13版本环境通过配置env开启 go mod ,还需要添加代理配置; ``` //开启go mod go env -w GO111MODULE="on" // 添加国内代理 go env -w GOPROXY=https://goproxy.cn,direct ``` - 进入项目目录后依次执行下面的命令 > go mod init // 初始化go mod 包管理 > go mod tidy // 加载依赖包 > go mod vendor // 将依赖包拷贝到项目目录中去 > go run main.go [--config=config/config.toml] //启动项目 默认配置参数可以忽略,如配置文件位置改变可通过参数指定。 ### 打包项目 > 配置好GOBIN环境变量,进入项目目录,然后执行如下命令: > window: `orange.exe build` > linux:`orange build` > 打包命令默认会将程序打包到 build 目录下,打包好的程序可以直接运行,不依赖 golang 环境。