什么是服务端渲染
Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。然而,也可以将同一个组件渲染为服务器端的 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序。
这里直接引用Vue官网的解释,通俗的讲就是本来网页通过浏览器执行Js代码来渲染的内容。现在直接通过服务端渲染完成返回HTML代码给浏览器看。
服务端渲染优缺点
优点:
- 更好的 SEO,因为服务端直接返回了HTML代码,搜索引擎会直接解析,传统的单页面应用由于需要通过Js渲染导致搜索引擎获取不到内容。
- 首页白屏的时间变短了,这个很好理解。
缺点:
-
开发变的更加复杂,本来只需要考虑客户端,现在还要考虑服务的存在的问题。比如服务端没有window等对象,导致许多功能无法在服务端实现。
-
服务端的性能要求变高类,原先只需要把打包的代码直接放在Nginx托管就可以类,现在还需要运行Nodejs进程来保证服务运行。(原来500M内存的ECS跑不起来了?,又给阿里赚了一波钱)
什么是Nuxt.js
简单讲就是 Vue + Vue-Router + Vuex + Vue-Meta ~= Nuxt.js
这是一个集成类上述框架并且实现类服务端渲染的UI框架。它既可以选择服务端