1、SSR 介绍

为什么使用服务器端渲染(SSR)?
与传统SPA相比,服务器端渲染(SSR)的优势主要在于:更好的SEO、更快的内容到达时间(time-to-content)。

使用服务器端渲染,还需要有哪些权衡之处?
开发条件所限(某些浏览器特定的代码,只能在某些生命周期钩子函数中使用);
涉及构建设置和部署的更多要求(需要处于node.js server 运行环境);
更多的服务器负载(在node.js中完整地渲染整个应用程序,会大量占用cpu资源)

Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进而生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完成可交互的应用程序。

服务器渲染的 Vue.js 应用程序也可以被认为是"同构"或"通用",因为应用程序的大部分代码都可以在服务器和客户端上运行。

服务器端渲染 vs 预渲染,如果只是计划提高几个营销界面的显示效率,可以考虑预渲染。
使用webpack,可以使用 prerender-spa-plugin 轻松地添加预渲染。服务器端渲染框架---Nuxt.js。

2、基本用法

npm install vue vue-server-renderer --save

npm install express -D

express ssr渲染 ssr渲染优势_express ssr渲染

3、Nuxt.js

Nuxt.js 是一个基于 Vue.js 的通用应用框架。
通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI渲染。
可以基于Nuxt.js 初始化新项目的基础结构代码,或者在已有 Node.js 应用中使用 Nuxt.js。
Nuxt.js “预设了”利用 Vue.js 开发“服务端渲染应用”所需要的“各种配置”。
除此之外,我们还提供了一种命令叫 nuxt generate,为基于 Vue.js 的应用提供生成对应静态站点的功能。

Nuxt.js 框架是如何运作的?
基于Vue、Webpack 和 Babel,并且集成了Vue、Vue-router、Vuex、Vue服务器端渲染、Vue-meta 等组件或框架。

实例:https://github.com/nuxt-community/express-template