nuxt 服务端渲染和预渲染的区别

nuxt分spa和非spa,预渲染直接nuxt generate打好的静态页面放在服务器就能访问(也是服务端渲染), 服务端渲染需要先build完,把打出来的项目放到服务器,然后允许start,还要配置nginx转发
使用nuxt的服务端渲染插件在node中可以直接返回
预渲染不像服务器渲染那样即时编译 HTML,它只在构建时为了特定的路由生成特定的几个静态页面,等于我们可以通过 Webpack 插件将一些特定页面组件 build 时就编译为 html 文件,直接以静态资源的形式输出给搜索引擎。预渲染不执行js的,只适应于纯静态页面
先说结论,都必然会优化SEO,原因如下:

1、seo的本质是爬虫动态抓取根html里面的关键标签关键字;
2、现代主流前端开发框架基本都是html拉回来之后,异步执行js动态挂载dom,根html在渲染之前里面提供给爬虫的信息极少;

综上,如果不做服务器渲染或预渲染,seo只能抓到手动配置的顶级标签的关键字,效率与效果非常差
不论是服务器渲染还是预渲染,它们都能“加速浏览器显示页面的速度”和seo优化。首先客户端程序只有js。现代网页出现以后这些js程度越来越复杂,于是必须有一些类似react、angular这样的东西。但这些东西全都有一个问题:第一次渲染结束前,页面是白的。于是有了服务端渲染:如果服务器恰好是nodejs,那么可以让服务器提前运行“第一次渲染”。浏览器只需要显示就好了,如果需要,再进行以后的渲染。