- 更好的SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。Google和Bing可以很好的对同步JavaScript应用程序进行索引。如果你的应用程序初始展示loading图,然后通过ajax获取内容,抓取工具并不会等待异步完成后在进行抓取页面的内容。也就是说,如果SEO对你的站点至关重要,而你的页面又是异步获取内容,则你可能需要服务器端渲染解决此问题。
- 更快的内容到达时间(time-to-content),特别是对于缓慢的网络情况或运行缓慢的设备。无需等待所有的JavaScript都完成下载并执行,才显示服务器渲染的标记,对于那些内容到达时间(time-to-content)与转化率直接相关的应用程序,服务器端渲染至关重要。
Head 管理
async function getTitle(vm){ const title = vm.$options if(title){ return typeof title === 'function' ? await title.call(vm) : title } } const serverTitleMixin = { created(){ const title = getTitle(this) if(title){ this.$ssrContext.title = title } } } const clientTitleMixin = { mounted(){ const title = getTitle(this) if(title){ document.title = title } } } export default process.env.VUE_ENV === 'server' ? serverTitleMixin : clientTitleMixin
任重而道远...