• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Vue中SSR的作用是什么

    发布者: 涵韵 | 发布时间: 2025-6-16 07:35| 查看数: 131| 评论数: 0|帖子模式

    Vue中SSR的作用是什么

    SSR 是 Server-Side Rendering(服务端渲染)的缩写,指的是在服务器端将 Vue 组件渲染成 HTML 字符串,然后直接发送给客户端的技术。

    与客户端渲染(CSR)的主要区别



    Vue SSR 的核心优势


    • 更好的 SEO:搜索引擎爬虫可以直接获取完全渲染的页面
    • 更快的内容到达时间:用户无需等待所有JavaScript下载执行完就能看到内容
    • 更一致的用户体验:特别在慢速网络或低性能设备上表现更好

    Vue SSR 的基本工作原理

    服务器端

    • 创建Vue实例
    • 渲染为HTML字符串
    • 将状态(store/route等)嵌入到HTML中
    客户端

    • 接收服务器渲染的HTML
    • "激活"(hydrate)静态HTML使其变为动态Vue应用
    • 接管后续的交互和路由

    实现Vue SSR的方式


    • 手动配置:使用
      1. vue-server-renderer
      复制代码
      包自行搭建SSR环境
    • Nuxt.js:基于Vue的SSR框架,提供开箱即用的SSR解决方案
    1. npx create-nuxt-app my-ssr-app
    复制代码

    • Vite SSR:使用Vite构建工具配置SSR

    基本示例代码
    1. // 服务器入口文件
    2. import { createSSRApp } from 'vue'
    3. import { renderToString } from 'vue/server-renderer'

    4. const app = createSSRApp({
    5.   data: () => ({ count: 1 }),
    6.   template: `<button @click="count++">{{ count }}</button>`
    7. })

    8. renderToString(app).then((html) => {
    9.   // 输出渲染结果
    10.   console.log(html) // <button>1</button>
    11. })
    复制代码
    适用场景


    • SEO要求高的内容型网站(新闻、博客、电商等)
    • 社交媒体分享需要正确预览的页面
    • 首屏加载速度要求极高的应用

    注意事项


    • 生命周期钩子:只有
      1. beforeCreate
      复制代码
      1. created
      复制代码
      会在服务端执行
    • 特定代码:避免在服务端使用浏览器特有API(如window、document)
    • 数据预取:需要在渲染前获取所有必要数据
    • 复杂度:比纯客户端应用更复杂,需要考虑服务端和客户端两种环境
    SSR虽然能解决某些特定问题,但也会增加开发复杂度和服务器成本,应根据项目实际需求权衡是否采用。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    来源:https://www.jb51.net/javascript/339812hx7.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表