模板引擎
模板
模板接口
Fiber 提供了一个 Views
接口来提供你自己的模板引擎:
type Views interface {
Load() error
Render(io.Writer, string, interface{}, ...string) error
}
Views
接口包含 Load
和 Render
方法, Load
由 Fiber 在应用初始化时执行以加载/解析模板。
// 传递给 Fiber's Views Engine
app := fiber.New(fiber.Config{
Views: engine,
// Views Layout 所有模板的全局布局
ViewsLayout: "layouts/main"
})
该 Render
方法与 ctx.Render() 接受模板名称和绑定数据的函数。如果布局未在 Render
函数中定义,它将使用全局布局。
app.Get("/", func(c *fiber.Ctx) error {
return c.Render("index", fiber.Map{
"hello": "world",
});
})
引擎
Fiber 团队维护 templates 包,为多个模板引擎提供包装器:
package main
import (
"log"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/template/html"
)
func main() {
// 初始化标准 Go html 模板引擎
engine := html.New("./views", ".html")
app := fiber.New(fiber.Config{
Views: engine,
})
app.Get("/", func(c *fiber.Ctx) error {
// 渲染 index 模板
return c.Render("index", fiber.Map{
"Title": "Hello, World!",
})
})
log.Fatal(app.Listen(":3000"))
}
<!DOCTYPE html>
<body>
<h1>{{.Title}}</h1>
</body>
</html>
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。