对于golang开发网站来说,间接用golang来解决输入内容,很难满足咱们多样化的页面成果需要的,因而,咱们须要先给咱们的博客网站设置一个模板引擎。模板引擎的作用就是让咱们能够应用html标记语言来编排咱们的页面,包含html、css、js等的使用。

咱们在Serve 函数中,减少如下代码

  pugEngine := iris.Django("./template", ".html")    if config.ServerConfig.Env == "development" {        //测试环境下动静加载        pugEngine.Reload(true)    }    bootstrap.Application.RegisterView(pugEngine)

这个代码块的作用是抉择应用类Django的模板引擎语法,模板寄存的目录是template,模板的后缀的通用的.html 文件后缀,如果咱们在config.json 中配置了env 为 development 的话,则动静加载模板。动静加载模板的一个益处是,咱们在调试和批改模板的时候,不须要重启golang我的项目,就能够通过刷新浏览器来看到批改后的成果。如果咱们不启用动静加载,则每次批改模板,都须要重启golang我的项目能力看到改变成果。然而动静加载会影响网站加载性能,因为每次拜访,他都须要从新解析模板。所以咱们就有了env参数配置,在本地调试的时候,应用development模式,动静加载模板,不便调试,在服务器上的生产环境,咱们并不需要常常改变代码,所以在服务器上,咱们就应用production模式,他在启动的时候就将模板加载到内存中,每次拜访就能够放慢访问速度了。

增加模板引擎代码后的Serv函数如下:

func (bootstrap *Bootstrap) Serve() {    bootstrap.Application.Logger().SetLevel(bootstrap.LoggerLevel)    bootstrap.LoadRoutes()    pugEngine := iris.Django("./template", ".html")    if config.ServerConfig.Env == "development" {        //测试环境下动静加载        pugEngine.Reload(true)    }    bootstrap.Application.RegisterView(pugEngine)    bootstrap.Application.Run(        iris.Addr(fmt.Sprintf("127.0.0.1:%d", bootstrap.Port)),        iris.WithoutServerError(iris.ErrServerClosed),        iris.WithoutBodyConsumptionOnUnmarshal,    )}

当初咱们曾经将模板引擎注册到iris中了,接下来,我就就能够应用html标记语言来编写模板了。接着咱们在后面曾经创立的template文件夹中,建设一个index.html 文件,并写上一些内容:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Hello World</title></head><body>Hello World!</body></html>

同样的,咱们先尝试输入Hello World试试看。

index.html 文件写完了,咱们还须要在控制器里援用,能力让他失效,咱们再批改下 IndexPage 函数,让他调用咱们编写好的index.html:

func IndexPage(ctx iris.Context) {    ctx.View("index.html")}

再次点击右上角的绿色实心三角形运行起来,来浏览器看看是否失常:

不出意外,咱们还是能看到Hello World。

如果不出意外的话,咱们仍然是看到Hello World!,如果能顺利看到Hello World,祝贺你,模板引擎抉择和配置实现。

残缺的我的项目示例代码托管在GitHub上,须要查看残缺的我的项目代码能够到github.com/fesiong/goblog 上查看,也能够间接fork一份来在下面做批改。