面试题答案
一键面试原理差异
- 服务端渲染(SSR):在服务器端将Vue组件渲染为HTML字符串,然后将完整的HTML页面发送到客户端。当请求到达服务器时,服务器会实例化Vue应用,填充数据,再将其渲染成HTML。客户端收到HTML后,进行“激活”(hydration)过程,即把静态HTML转化为可交互的Vue应用,重新绑定事件等。这一过程需要服务器实时处理每个请求,动态生成HTML。
- 静态生成(SSG):在构建时(build time)就将Vue组件渲染为HTML文件。构建工具遍历应用的路由,预渲染每个页面为静态HTML。这些静态HTML文件可以直接部署到CDN等静态资源服务器。请求到来时,直接返回已经生成好的HTML,无需服务器实时渲染。
适用场景差异
- 服务端渲染(SSR):
- 数据实时性要求高:例如实时显示股票价格、直播数据等场景,因为SSR可以在请求时获取最新数据并渲染到页面。
- 个性化内容展示:如用户个人中心,不同用户看到的内容不同,SSR可以根据用户请求动态生成个性化页面。
- 静态生成(SSG):
- 内容变化不频繁:像博客、文档网站等,内容更新频率低,SSG在构建时生成静态页面,既保证了良好的性能,又减少了服务器负载。
- 对SEO友好:搜索引擎爬虫更容易抓取静态HTML页面,对于以内容展示为主,希望提升搜索引擎排名的网站,SSG是很好的选择。