阿里拍卖4个深交所交易席位各60万成交
06-18
前言 本文是关于《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万元和键盘手表。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-18
06-17
06-17
06-18
06-17
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用