1. Iris 框架
Iris以簡單而強(qiáng)大的api而聞名。 除了提供的低級訪問權(quán)限, Iris同樣擅長MVC。 它是唯一一個擁有MVC架構(gòu)模式豐富支持的Go Web框架,性能成本接近于零。
Iris具有以下強(qiáng)大的特性,可以很高效地用于后臺開發(fā):
- 專注于高性能
- 簡單流暢的API
- 高擴(kuò)展性
- 強(qiáng)大的路由和中間件生態(tài)系統(tǒng)
- 上下文
- 身份驗證
- 視圖系統(tǒng).支持五種模板隱隱 完全兼容 html/template
- Websocket庫,其API類似于socket.io [如果你愿意,你仍然可以使用你最喜歡的]
- 熱重啟
2. 安裝
go get -u github.com/kataras/iris
也許會報如下錯誤
......
go: downloading github.com/vmihailenco/tagparser/v2 v2.0.0
github.com/kataras/iris imports
github.com/kataras/iris/context imports
github.com/klauspost/compress/snappy: cannot find module providing package github.com/klauspost/compress/snappy
go: downloading github.com/schollz/closestmatch v1.0.0
go: downloading github.com/aymerick/raymond v1.1.0
說法是被墻了,并且這也是直接安裝到了$GOPATH目錄下,報錯找不到對應(yīng)的依賴。
可以按如下流程來安裝:
2.1 進(jìn)入項目目錄
[root@localhost GOPATH]# cd -
/data/Work/myapp
新建main.go ,內(nèi)容如下
package main
import "github.com/kataras/iris"
func main() {
app := iris.New()
app.RegisterView(iris.HTML("./views", ".html"))
app.Get("/", func(ctx iris.Context) {
ctx.ViewData("message", "Hello world!")
ctx.View("hello.html")
})
app.Run(iris.Addr(":8080"))
}
新建views文件夾,在views中新建hello.html,內(nèi)容如下
<html>
<head>
<title>Hello Page</title>
</head>
<body>
<h1>{{.message}}</h1>
</body>
</html>
此時文件列表如下:
[root@localhost myapp]# ll
total 1
-rwxrwxrwx 1 vagrant vagrant 304 Aug 4 22:51 main.go
drwxrwxrwx 1 vagrant vagrant 0 Aug 4 22:46 views
[root@localhost myapp]#
2.2 使用 go mod
我們在我們代碼所在的目錄下執(zhí)行 go mod init projectName.go
[root@localhost myapp]# go mod init myapp.go
go: creating new go.mod: module myapp.go
go: to add module requirements and sums:
go mod tidy
2.3 執(zhí)行一下go run main.go,會有提示下載相應(yīng)包。如果已下載,則會跳此步驟
[root@localhost myapp]# go run main.go
main.go:3:8: no required module provides package github.com/kataras/iris/v12; to add it:
go get github.com/kataras/iris/v12
2.4 安裝iris
注意,如果執(zhí)行
go get github.com/kataras/iris/v12,后續(xù)會報:
You have installed an invalid version. Install with: go get -u github.com/kataras/iris/v12@latest
提示版本無效,讓你重裝,所以為了一步到位,直接執(zhí)行 -u 的命令
[root@localhost myapp]# go get -u github.com/kataras/iris/v12
go: downloading github.com/kataras/iris/v12 v12.1.8
go: downloading github.com/kataras/iris v0.0.2
......
go: downloading github.com/aymerick/douceur v0.2.0
go: downloading github.com/gorilla/css v1.0.0
go: downloading github.com/schollz/closestmatch v1.0.0
go: downloading github.com/aymerick/raymond v1.1.0
go get: added github.com/BurntSushi/toml v0.4.0
go get: added github.com/CloudyKit/jet/v3 v3.0.1
......
go get: added gopkg.in/ini.v1 v1.62.0
go get: added gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
2.5 啟動
[root@localhost myapp]# go run main.go
Now listening on: http://localhost:8080
Application started. Press CTRL+C to shut down.
頁面查看:
