vue ssr 实现方式(学习笔记)
为什么要写本文呢,话说现在vue-ssr官网上对vue服务端渲染的介绍已经很全面了,包括各种服务端渲染框架比如Nuxt.js、集成Koa和vue-server-renderer的node.js框架egg.js,都有自己的官网和团队在维护,文档真是面面俱到功能强大,但是,我个人在刚开始看这些资料的时候,总是忍不住发起灵魂三问:“我是谁?我在哪?我在干什么?”,提前没有相关知识的人开始学这些,肯定是要走一些弯路或者卡在某个点一段时间的,所以我想把我的学习经验做下总结,一方面方便自己以后查阅,一方面也会在文中加一些针对官网上没有细说的点的理解,希望能帮助你减少些学习成本,毕竟这是一个知识共享的时代嘛。本文不涉及到源码解析,主要讲解如何实现vue的服务端渲染,比较适合vue-ssr小白阅读,下面我们进入正文:
先说下基本概念:
ssr的全称是serversiderender,服务端渲染,vuessr的意思就是在服务端进行vue的渲染,直接对前端返回带有数据,并且是渲染好的HTML页面;而不是返回一个空的HTML页面,再由vue通过异步请求来获取数据,再重新补充到页面中。
这么做的最主要原因,就是搜索引擎优化,也就是SEO,这更利于网络爬虫去爬取和收集数据。
为什么这样就有利于网络爬虫爬取呢?
这里简单说一下爬虫的爬取方式,爬虫通过访问URL获取一个页面后,会获取当前HTML中已存在的数据,也可以理解为把拿到的HTML页面转为了字符串内容,然后解析、存储这些内容,但是如果页面中有些数据是通过异步请求获得的,那么爬虫是不会等待异步请求返回之后才结束对页面数据的解析的,这样就会没有爬取到这部分数据,很不利于其他搜索引擎的收录。
这也就是为什么单页面网站是不具备良好的SEO效果的,因为单页面返回的就是一个基本为空的HTML文件,里面就一个带有ID的元素等待挂载而已,页面的内容都是通过js后续生成的,比如这样:
Hello