SSR
前后端分离后单页面应用盛行,出现了服务端渲染的说法,其能更好的SEO什么是服务器端渲染 (SSR)服务器将组件和获取到的数据解析生成html字符串,发送给客户端。过程同之前的php、java等的全栈开发,使用模板引擎,获取数据后解析为html字符串后,发到客户端展现。服务器渲染的 Vue.js 应用程序,可以同时在服务器和客户端上运行。为什么使用服务器端渲染 (SSR)更好的 ...
·
前后端分离后单页面应用盛行,出现了服务端渲染的说法,其能更好的SEO
什么是服务器端渲染 (SSR)
- 服务器将组件和获取到的数据解析生成html字符串,发送给客户端。过程同之前的php、java等的全栈开发,使用模板引擎,获取数据后解析为html字符串后,发到客户端展现。
- 服务器渲染的 Vue.js 应用程序,可以同时在服务器和客户端上运行。
为什么使用服务器端渲染 (SSR)
- 更好的 SEO
Google 和 Bing 可以很好对同步 JavaScript 应用程序进行索引。 - 更快的内容到达时间 (time-to-content)
无需等待所有的 JavaScript 都完成下载并执行。
服务器端渲染 vs 预渲染 (SSR vs Prerendering)
少数营销页面(例如 /, /about, /contact 等)的 SEO,预渲染。
Nuxt.js通用应用框架
流程图
双模式
编译后同时生成客户端和服务端代码
- url访问地址,服务端渲染后发给客户端
************************************************************************************************************ - 页面中nuxt-link标签跳转,客户端渲染。history模式,无刷新跳转(同单页应用路由跳转)
函数 | 服务端 | 路由更新 | 触发时间 | 其它 |
---|---|---|---|---|
nuxtServerInit | 触发 | 不触发 | store/index.js中设置 | |
asyncData | 触发 | 触发 | 组件加载之前被调用 | 融合data返回 |
fetch | 触发 | 触发 | 渲染页面前被调用 | 填充(store)数据 |
注意事项
- 需要服务端渲染的数据使用asyncData获取
- vue生命周期中获取的数据会保持客户端渲染(如下mounted中获取)
更多推荐
已为社区贡献15条内容
所有评论(0)