对于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一份来在下面做批改。