Go进阶:使用Gin框架简单实现服务端渲染

发布于:2024-10-24 编辑:匿名 来源:网络

前言 本文是关于《Gin框架简单实现服务端渲染》的文章。本文是个人学习的总结。

未经许可严禁转载。如果有什么不对的地方还请指正,谢谢!热身。

你知道我们常用什么技术来实现网站秒级打开吗?服务器端渲染 服务器端渲染(SSR)是一种将网页的渲染过程从客户端移至服务器的技术。与客户端渲染(CSR)相比,服务器端渲染有以下优点: 1、更好的首次加载性能:服务器端渲染可以直接在服务器端生成完整的 HTML 页面并发送给浏览器允许当用户第一次访问网站时,网站呈现速度更快。

这提高了网站加载速度和用户体验。 2.更好的SEO(搜索引擎优化):由于搜索引擎爬虫通常只抓取和渲染HTML内容,而不执行JavaScript代码,因此服务器端渲染可以确保搜索引擎能够正确抓取和索引网页内容。

,提高网站在搜索结果中的排名。 3、更好的可访问性:服务端渲染可以保证网站在没有JavaScript支持或者JavaScript执行失败的情况下仍然可以正常显示内容,提高网站的可访问性。

4、性能更好:服务器端渲染可以减轻客户端设备的负担,因为服务器端已经完成了部分渲染工作,客户端只需要处理少量的JavaScript代码,从而提高了客户端设备的性能网站。通过服务器端渲染,我们可以最大限度地发挥云服务器的作用。

恰逢程序员节。腾讯云有很大的折扣。

有需要的朋友可以弄个云服务器来玩玩,尝试一下服务端渲染go。语言上,使用Gin快速实现服务端渲染。

首先实现一个简单的Web服务器。首先使用Gin实现一个简单的Web服务器代码语言: go copy package mainfunc main(){ router := gin.Default() router.GET("/" ,func(c *gin.Context){ c.String(, "Hello") }) router.Run(":")}完成上面的代码后,我们直接运行就可以看到如下运行结果监听的是一个端口,而server之前只有一条GET路由-侧面渲染。

服务端渲染其实就是先在服务端把HTML之类的东西拼凑起来,然后直接返回给浏览器渲染。浏览器不需要重新拼凑代码。

。所以我们首先创建一个index.html文件。

里面的内容是任意的,前端代码可以随意调整。接下来是重头戏,服务器端渲染。

gin框架给我们封装了两个函数,LoadHTMLGlob和LoadHTMLFiles。这两个函数用来读取前端代码,然后保存到实例中,首先LoadHTMLFiles,这个函数的签名如下,使用...即可变参数语法糖,可以读取任意值参数代码语言:txt copy func (engine *Engine) LoadHTMLFiles(files...string) 所以我们很容易知道这个函数可以一次读取多个,如下代码语言所示:txt copy router.LoadHTMLFiles ("HTML/index.html","HTML /index2.html") 但不建议这样做,因为另一个函数 LoadHTMLGlob 可以杀死它。

用法如下: txt copy // 可以使用通配符匹配所有 router.LoadHTMLGlob("02_HtmlRendering/HTML/*") //选择HTML文件夹中的所有文件 router.LoadHTMLGlob("02_HtmlRendering/HTML/Text/* ") //选择HTML文件夹下Text文件夹中的所有文件 router.LoadHTMLGlob("02_HtmlRendering/HTML/**/ *") //选择HTML文件夹下所有文件夹中的所有文件,特别是 router.LoadHTMLGlob("02_HtmlRendering /HTML/**/*") 选择HTML文件夹下所有文件夹中的所有文件,这个酷极了。通过这两个函数,我们可以将前端代码与渲染引擎关联起来,然后使用代码语言:txt复制c.HTML(, "index.html", nil)返回响应。

请查看完整版。首先看一下目录结构。

我们可以使用LoadHTMLGlob来轻松读取它。可以看到如下代码代码语言: txt copy package mainimport "github.com/gin-gonic/gin" func main() { router := gin.Default() router.LoadHTMLGlob("02_HtmlRendering/HTML/**/* ") //选择HTML文件夹下各子文件夹中的所有文件。

这个东西的路径一定要正确 //router.LoadHTMLFiles("HTML /index.html", "HTML/index2.html") 不建议使用这个函数 router.GET("/", func(c * gin.Context) { // 这是渲染html时的使用方法 最后一个可以用来转换数据 传递给html中的c.HTML(, "index.html", nil) // index.html是文件在之前所在的路径下}) router.Run(":")} 我们在第8行读取了html代码,然后在第15行响应了这段代码。我们可以在浏览器中访问localhost:/,看到该内容我们写的html。

至此,一个简单的服务端渲染就完成了。 。

那么如果我们需要对两条路由进行服务端渲染怎么办?也就是下图中的结构。你知道如何渲染吗?我会在下一期继续总结学习进展。

欢迎订阅我的专栏。我正在参加腾讯科技创造特训营第二期有奖征文比赛,分享奖金池1万元和键盘手表。

Go进阶:使用Gin框架简单实现服务端渲染

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 阿里拍卖4个深交所交易席位各60万成交

    阿里拍卖4个深交所交易席位各60万成交

    据投资界7月30日消息,据财联社报道,今日,阿里拍卖4个深交所交易席位司法拍卖平台。 具体来说,被拍卖的四枚深交所席位号分别是00、00、00、00。 起拍价60万元,市场价60万元,保证金6万元,加价元,拍卖开始时间为8月23日,竞拍期为一天。 席位号原持有人为珠海中业信托投

    06-18

  • 隐形正畸品牌美狮获数千万元A轮融资

    隐形正畸品牌美狮获数千万元A轮融资

    据投资界4月8日消息,隐形正畸品牌美狮完成数千万元A轮融资,投资方包括中信资本和雅惠投资。 此前,其曾获得世纪河、天宇医疗等机构的融资。 这些资金主要用于研发投入,包括数字图形软件、高分子材料、临床医学基地建设等。 美视团队于年底成立。 截至目前,美视产品已覆盖

    06-18

  • 产融深度融合,九和集团战略投资中国华融

    产融深度融合,九和集团战略投资中国华融

    投资行业动态,近日,九和集团战略投资中国华融。 双方将携手进军军工领域,携手地方政府平台打造军民融合综合体。 当地经济腾飞。 作为一家国有背景、产融结合的企业集团,九和集团通过资本赋能,助力地方经济和企业发展。 投资多家军工企业,与多个地方政府共同建设军工园区

    06-17

  • 证监会:启动私募创投基金向投资者实物配置股票试点

    证监会:启动私募创投基金向投资者实物配置股票试点

    投资界(ID:pedaily)据7月10日消息,证监会发布公告称,为完善私募股权投资基金和创业投资基金(以下简称私募创业投资基金)非现金分配机制,拓宽私募股权创业投资基金退出渠道,促进投资-退出-再投资的良性循环。 近日,证监会启动私募股权创业投资基金向投资者实物派发股

    06-17

  • 解决2亿灵活就业人员问题,小包智工获盖亚工场战略投资

    解决2亿灵活就业人员问题,小包智工获盖亚工场战略投资

    投资圈(ID:pedaily)据12月8日消息,在线招聘平台“小包智工”完成劳动力SaaS战略制造商“Gaia Works”投资。 小包智工联合创始人及CEO鲍冠羽表示,本轮融资将主要用于小包智工4.0版本的产品开发,服务更多城市和行业。 去年,小包智工获得了云歌情报的战略投资。 小包智工

    06-17

  • 每日游鲜完成新一轮融资4.95亿美元,由中金资本领投

    每日游鲜完成新一轮融资4.95亿美元,由中金资本领投

    在投资界,7月23日,每日游鲜宣布完成新一轮4.95亿美元融资。 本轮融资由中金资本旗下基金领投,工银国际、腾讯、阿布扎比资本集团、苏州常熟政府产业基金、老虎环球、高盛资管旗下基金等数家机构共同跟投,华兴资本跟投作为专属财务顾问。 本轮融资也是目前生鲜配送行业最大

    06-18

  • 联发科将于今年晚些时候推出支持 5G 的 7nm 芯片组

    联发科将于今年晚些时候推出支持 5G 的 7nm 芯片组

    据一份新报告称,台湾芯片制造商联发科计划今年推出 5G 芯片组。 这款新芯片组将与高通 Snapdragon 和海思麒麟竞争。 联发科芯片组主要应用于入门级和中端智能手机。 新的联发科5G芯片组将采用7nm制造工艺。 据联发科称,新芯片组将比最新的 Helio P90 更强大。 与其他产品不

    06-06

  • 1药网:四季度营收34.6亿元,同比增长30.9%

    1药网:四季度营收34.6亿元,同比增长30.9%

    1药网发布四季度及全年业绩报告。 财报显示,第四季度营收34.6亿元,同比增长30.9%; 2019年1月,药网实现全年营收破亿元,同比增长52%,营收首次突破百亿。

    06-18

  • “艺赛旗”获金蝶超亿元战略投资,联合推出“苍穹+RPA”一体化产品及智能自动化解决方案

    “艺赛旗”获金蝶超亿元战略投资,联合推出“苍穹+RPA”一体化产品及智能自动化解决方案

    今日举行的金蝶云苍穹峰会上,金蝶宣布战略投资国内RPA企业艺赛旗。 金蝶在企业云服务和云原生技术领域拥有多年的经验和行业理解,结合艺赛旗在RPA领域的技术优势,联合推出“琼+RPA”一体化产品和智能自动化解决方案,致力于打造为数万企业用户带来数十亿的利益。 提高数字虚

    06-18

  • 云南意外诞生独角兽:耀明半导体近百亿

    云南意外诞生独角兽:耀明半导体近百亿

    此次抵达云南。 投资界获悉,耀明半导体近日正式宣布完成B轮股权融资,金额超12亿元,投后估值近百亿元。 本轮融资由国家绿色发展基金有限责任公司领投,金石投资、国投创合、浙江海港集团、宁波开投集团、楚雄城乡投资等跟投。 于是,这家来自云南的新能源公司成为了独角兽公

    06-18

  • 阿里云【AI24小时】2024年5月6日

    阿里云【AI24小时】2024年5月6日

    阿里云创业平台推出AI24小时系列文章,搜集国内外最新的AI人工智能前沿资讯,帮助AI创业者掌握最新行业资讯。 1.AI PC激战,联想、华为、荣耀出击>> 随着AI技术的快速发展,AI PC已成为消费电子领域的热点。 联想、华为、荣耀等各大厂商相继推出了自己的AI PC产品。 近年来,

    06-17

  • 张剑锋谈阿里云新定位:数字经济基础设施

    张剑锋谈阿里云新定位:数字经济基础设施

    9月25日,在杭州云栖大会上,阿里云智能总裁张剑锋在主题演讲中表示,阿里云已经从单纯的云基础设施逐步演变今天,我们已经成为智能云提供商:从大数据、AI、物联网到协同办公,以及未来软硬件一体化的云平台。 他表示,“阿里巴巴走过了十年,一步一步走到了今天。 我认为未

    06-18