这两个次版本的发布,终于让 Nuxt 开发静态网站方便多了!
先说亮眼新特性:
可以处理动态路由 和 nuxt start 真是太棒了。
target: 'static' + nuxt generate 生成的【完全静态】的应用又是什么意思呢?与之前 generate 生成的静态应用有什么区别?
我们先来看一下 Nuxt 官网的一张图,阐述了 Nuxt.js 应用一个完整的服务器请求到渲染(或用户通 <nuxt-link> 切换路由渲染页面)的流程
可以看到,在 SSR 中,服务端会执行 asyncData() 和 fetch() ,用来访问接口生成数据,从而在服务端就渲染出页面内容。
那么,在 generate 生成的静态应用中会怎样呢?如我们预料,生成的 dist 中的 html,就是执行过 asyncData() 和 fetch() 的有数据内容的文件了。
但是,当我们切换路由的时候,这两个函数又被调用了一遍,如果其中有接口调用,就会再次请求接口,拿回来最新的数据。问题是,这让页面切换变慢,而许多静态网站并不需要请求最新的数据。
于是,【完全静态】的应用就被千呼万唤召唤出来了,它的接口请求的数据定格在 generate 的时候,部署后不会再通过 asyncData() 和 fetch() 调用 API 了。这使得页面切换变得非常快。
可是,对于某些页面,我还想要最新的数据,怎么办呢?别担心,新版的 nuxt 还很贴心地支持了 Preview mode :
添加这个插件,然后在需要更新数据的页面 url 后面加上 ?preview=1 就可以做到了。
Going Full Static
NuxtJS 官方文档
夫唯老师讲过做静态网站设计所采用的技术原理是一对一的形式,也就是说这样的网站上面,一个内容对应的就是一个页面,无论网站访问者如何操作都只是让服务器把固有的数据传送给请求者,没有脚本计算和后台数据库读取过程,大大降低了部分安全隐患。静态网站设计除了拥有上述的速度快,安全性高这两个特点之外还具有跨平台,跨服务器功能。现在熟悉搜索引擎原理工作原理的朋友应该都知道它所提供给广大用户的信息是本身就存在于数据库当中的信息而不是实时的信息,固定的信息内容更容易接受和保存。我们可能常常会遇到这样的问题,当我们搜索自己所需要的信息时得出来的结果可能已经失效,这就是静态页面网站设计的不足之处,但又因为它的稳定,所以久久不会被删除。
与静态页面网站设计不同,asp生成的动态页面信息不但不易被搜索引擎所检索,而且打开速度慢,再者也不稳定,这就是为什么我们网站建设公司 都一再建议客户使用静态形式的网站设计的原因,有些网站建设公司会考虑把页面进行伪静态处理,但不知道大家有没有注意过,伪静态处理的URL通常是不规则的。
我们发现早期的网站制作所采用的都是静态页面网站设计技术,但这样的页面也因为没有数据库作为支持而缺乏互动功能,因此动态网站制作技术也就成为了必然趋势,如何把握好动态结合的最佳系数,不同的企业网站建设公司有不同的做法,针对不同的客户需求,网站建设公司也需要采用不同的手段。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)