ssr和vue的区别是什么

ssr和vue的区别是:ssr是在服务器将组件渲染成HTML字符串后返回,而vue是在客户端发送请求后,服务器返回空的HTML、css、js等,组件在客户端进行渲染。

ssr和vue的区别是什么

本文操作环境:windows10系统、Vue2.9.6版,DELL G3电脑。

ssr和vue的区别是什么

ssr是vue的服务端渲染技术,nuxt是一个可以用来做ssr服务端渲染开发的框架.
ssr是技术基础,nuxt是封装

一、什么是SSR

Vue.js 是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue 组件,进行生成 DOM 和操作 DOM。全部的操作都是在客户端运行. 在这种情况下, 生命周期 mounted 之前 ,看不到任何东西的, 或者如果我们的客户端瑞浏览器,禁用了js功能的话, 就会一片空白
然而,vuejs 也可以将同一个vue组件在服务器端直接就渲染为 HTML 字符串,将它们直接发送到浏览器,最后将这些静态标记”激活”为客户端上完全可交互的应用程序

二、ssr与普通vue的区别

普通vue是客户端发送请求后,服务器返回空的HTML,css,js等,在客户端进行渲染
ssr是在服务器渲染成字符串后返回

立即学习“前端免费学习笔记(深入)”;

在这里插入图片描述

三、渲染一个vue实例

初始化

npm init

下载安装

npm install vue vue-server-renderer –save

创建一个js

// 第 1 步:创建一个 Vue 实例const Vue = require('vue')const app = new Vue({  template: `
Hello World
`})// 第 2 步:创建一个 rendererconst renderer = require('vue-server-renderer').createRenderer()// 第 3 步:将 Vue 实例渲染为 HTMLrenderer.renderToString(app, (err, html) => { if (err) throw err console.log(html) // =>
Hello World
})// 在 2.5.0+,如果没有传入回调函数,则会返回 Promise:renderer.renderToString(app).then(html => { console.log(html)}).catch(err => { console.error(err)})

登录后复制

调出终端显示效果

node 文件名,显示

Hello World

在这里插入图片描述

四、与服务器集成

下载安装

npm install express –save

js

// 第 1 步:创建一个 Vue 实例const Vue = require('vue')const express = require('express')//创建服务器const app = new Vue({    template: `
Hello World
`})const server = express()// 第 2 步:创建一个 rendererconst renderer = require('vue-server-renderer').createRenderer()// 在 2.5.0+,如果没有传入回调函数,则会返回 Promise:renderer.renderToString(app).then(html => { console.log(html)}).catch(err => { console.error(err)})server.get("*", (req, res) => { // 第 3 步:将 Vue 实例渲染为 HTML renderer.renderToString(app, (err, html) => { if (err) throw err console.log(html) res.send(html) // =>
Hello World
})})//打开服务器,监听端口等待浏览器访问server.listen(8080, (err) => { console.log("ok");})

登录后复制

效果

输入127.0.0.1:8080

在这里插入图片描述

四、为什么/要不要使用服务器端渲染 (SSR)?

与传统 SPA (单页应用程序 (Single-Page Application)) 相比,服务器端渲染 (SSR) 的优势主要在于:

更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。更快的内容到达时间 (time-to-content),特别是对于缓慢的网络情况或运行缓慢的设备。无需等待所有的 JavaScript 都完成下载并执行,你的用户将会更快速地看到完整渲染的页面。
使用服务器端渲染 (SSR) 时还需要有一些权衡之处:开发条件所限。浏览器特定的代码,只能在某些生命周期钩子函数 (lifecycle hook) 中使用;一些外部扩展库 (external library) 可能需要特殊处理,才能在服务器渲染应用程序中运行。涉及构建设置和部署的更多要求。与可以部署在任何静态文件服务器上的完全静态单页面应用程序 (SPA) 不同,服务器渲染应用程序,需要处于 Node.js server 运行环境。更多的服务器端负载。在 Node.js 中渲染完整的应用程序,显然会比仅仅提供静态文件的 server 更加大量占用 CPU 资源 (CPU-intensive – CPU 密集),因此如果你预料在高流量环境 (high traffic) 下使用,请准备相应的服务器负载,并明智地采用缓存策略。
在对你的应用程序使用服务器端渲染 (SSR) 之前,你应该问的第一个问题是,是否真的需要它。这主要取决于内容到达时间 (time-to-content) 对应用程序的重要程度。例如,如果你正在构建一个内部仪表盘,初始加载时的额外几百毫秒并不重要,这种情况下去使用服务器端渲染 (SSR) 将是一个小题大作之举。然而,内容到达时间 (time-to-content) 要求是绝对关键的指标,在这种情况下,服务器端渲染 (SSR) 可以帮助你实现最佳的初始加载性能。

【相关推荐:《vue.js教程》】

以上就是ssr和vue的区别是什么的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2632891.html

(0)
上一篇 2025年3月7日 04:15:10
下一篇 2025年2月18日 02:51:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 记录一个使用Vue 3开发Fimga插件的过程

    如何用 vue 3 开发 figma 插件?下面本篇文章给大家介绍一下figma插件原理,记录下使用vue 3开发fimga插件的过程,并附有开箱即用的代码,希望对大家有所帮助! 用 Vue 3 开发 Figma 插件 Figma 是一款当…

    2025年3月7日 编程技术
    200
  • vue中的webpack用什么安装

    vue中的webpack用node包管理器“npm”或npm镜像“cnpm”来安装。webpack是一个用于现代JavaScript应用程序的静态模块打包工具,是基于node.js开发的,使用时需要有node.js组件支持;需要使用npm或…

    2025年3月7日 编程技术
    200
  • 秒懂Vue3+Vite3源码,只要会这20个库!

    正所谓:工欲善其事,必先利其器!写一个开源的项目也不例外,就拿在国内很火的 vue3 框架 和 vite 工具 来讲,其中的实现与架构设计无不是一个 复杂而庞大的工程,而支撑这些工程能顺利运行的无不是一个又一个的轮子,正好最近有在阅读 vu…

    2025年3月7日 编程技术
    200
  • vue项目搭建及打包运行的概述讲解

    本篇文章给大家带来了关于vue的相关知识,主要介绍了关于项目搭建以及打包运行的相关问题,vue-cli: 用户生成vue工程模板,下面一起来看一下,希望对大家有帮助。 【相关推荐:vue、vue】 一、概述 我们使用Vue.js一定要安装n…

    2025年3月7日 编程技术
    200
  • vue-cli和vue有什么区别

    “vue-cli”和vue的区别:vue是“vue.js”的简称,是一个成熟的用于构建用户界面的JavaScript渐进式框架,而“vue-cli”是vue基础上进行开发的工具系统,是vue框架的一个命令工具。 本文操作环境:Windows…

    2025年3月7日
    200
  • 一文聊聊vue项目中怎么使用axios?基本用法分享

    提示:本篇详解axios在vue项目中的实例。在使用Vue.js框架开发前端项目时,会经常发送ajax请求服务端接口,在开发过程中,需要对axios进一步封装,方便在项目中的使用。【学习视频分享:vue视频教程、vue视频教程】 Axios…

    2025年3月7日
    200
  • vue封装axios有什么用

    vue封装axios可以提高代码质量、让使用更为便利。axios的API很友好,开发者完全可以很轻松地在项目中直接使用;不过随着项目规模增大,如果每发起一次HTTP请求,需要写一遍设置超时时间、设置请求头、错误处理等等操作。这种重复劳动不仅…

    2025年3月7日
    200
  • vue node sass报错怎么解决

    vue node sass报错的解决办法:1、查看项目中引用的“node-sass”版本;2、查询“node-sass”对应的“node.js”版本;3、清空下npm,然后重新执行“npm install”安装node即可。 本教程操作环境…

    2025年3月7日
    200
  • vue打包刷新报错怎么办

    vue打包刷新报错的解决办法:1、将vue router的“mode”改成“hash”;2、修改Nginx为“location / {root …index …try_files $uri $uri/ /index.…

    2025年3月7日
    200
  • 一文带你详细了解Vue脚手架

    本篇文章带大家了解vue脚手架,聊聊怎么初始化vue脚手架,介绍ref和props、mixin(混合)等,希望对大家有所帮助! 一.初始化Vue脚手架 1.说明 一般脚手架选择最新版本 2.具体步骤 立即学习“前端免费学习笔记(深入)”; …

    2025年3月7日 编程技术
    200

发表回复

登录后才能评论