vueserverrendering作用:可以加快首屏渲染速度。适合搜索引擎seo。原理:自己粗浅的理解:node和browser都可以跑js。打开浏览器,输入项目地址,首先访问node服务器,node服务器渲染返回给浏览器的只有html文档和对应的js、css注入,以及node端从api服务器端,一般放在全局变量中。列window.vueStore=api服务器数据。然后在浏览器端,第一次初始化vue根实例时,向全局状态管理vuex注入数据。作为浏览器端对应路由中的数据,提供对应的数据状态给路由级组件,然后渲染对应的虚拟dom,复用节点端返回的生成的dom节点。因为,比如客户端渲染的虚拟dom==渲染的节点返回的dom节点。之后,浏览器端的行为几乎不再与节点端相关。要实现两端对路由的统一响应,需要两端响应同一个路由,具有相同的功能,比如友达官网的asyncData,也可以指定其他功能。当node端进入路由时,会解析当前路由配备的路由组件,然后找到(asyncData)放到promise.all中。从api服务器拉取数据后,放入全局状态管理的vuex中。浏览器端的一种实现是在路由钩子中的beforeResolve中完成类似节点端获取数据的方法。二是在路由组件的beforeMounted中触发路由组件的this.$options.asyncData。详细介绍(有大官方文档)开发移动端项目,提供自己改进的nuxtnuxt官方文档
