MST

星途 面试题库

面试题:Vue中Vue CLI的SSR与SSG的基本差异

请阐述在Vue CLI中,服务端渲染(SSR)与静态生成(SSG)在原理、适用场景上的基本差异是什么?
20.2万 热度难度
前端开发Vue

知识考点

AI 面试

面试题答案

一键面试

原理差异

  • 服务端渲染(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是很好的选择。