如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人博客
安装
Iris 是一个跨平台的软件。唯一的需求就是 Go 语言(1.13+)
进入项目根目录:
$ cd your_project_path
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct # golang 代理
$ go get github.com/kataras/iris/v12@master
或者编辑 go.mod
文件
module your_project_name
go 1.13
require (
github.com/kataras/iris/v12 v12.0.0
)
执行命令 go build
如果安装失败,不妨执行清除模块缓存
go clean –modcache # 清空 mod 文件夹下内容
项目版本更新
go-get 命令来获取最新的 Iris 版本。 Master 分支通常足够稳定了。
$ go get -u github.com/kataras/iris/v12@latest
2. 使用 Iris 构建服务端
2.1 简单例子 1——直接返回消息
package main
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/middleware/logger"
"github.com/kataras/iris/v12/middleware/recover"
)
func main() {
app := iris.New()
app.Logger().SetLevel("debug")
// 设置recover从panics恢复,设置log记录
app.Use(recover.New())
app.Use(logger.New())
app.Handle("GET", "/", func(ctx iris.Context) {
ctx.HTML("<h1>Hello Iris!</h1>")
})
app.Handle("GET", "/getjson", func(ctx iris.Context) {
ctx.JSON(iris.Map{"message": "your msg"})
})
app.Run(iris.Addr("localhost:8080"))
}
其他便捷设置方法:
// 默认设置日志和panic处理
app := iris.Default()
我们可以看到iris.Default()的源码:
// 注:默认设置"./view"为html view engine目录
func Default() *Application {
app := New()
app.Use(recover.New())
app.Use(requestLogger.New())
app.defaultMode = true
return app
}
2.2 简单例子 2——使用 HTML 模板
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
// 注册模板在work目录的views文件夹
app.RegisterView(iris.HTML("./views", ".html"))
app.Get("/", func(ctx iris.Context) {
// 设置模板中"message"的参数值
ctx.ViewData("message", "Hello world!")
// 加载模板
ctx.View("hello.html")
})
app.Run(iris.Addr("localhost:8080"))
}
上述例子使用的hello.html模板
<html>
<head>
<title>Hello Page</title>
</head>
<body>
<h1></h1>
</body>
</html>