我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ssr和vue的区别有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ssr和vue的区别有哪些

这篇文章将为大家详细讲解有关ssr和vue的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

ssr和vue的区别是

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

一、什么是SSR

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

二、ssr与普通vue的区别

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

ssr和vue的区别有哪些

三、渲染一个vue实例

初始化

npm init

下载安装

npm install vue vue-server-renderer --save

创建一个js

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

调出终端显示效果

node 文件名,显示<p>Hello World</p>

ssr和vue的区别有哪些

四、与服务器集成

下载安装

npm install express --save

js

// 第 1 步:创建一个 Vue 实例const Vue = require('vue')const express = require('express')//创建服务器const app = new Vue({    template: `<div>Hello World</div>`})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)        // => <div data-server-rendered="true">Hello World</div>    })})//打开服务器,监听端口等待浏览器访问server.listen(8080, (err) => {    console.log("ok");})

效果

输入127.0.0.1:8080

ssr和vue的区别有哪些

四、为什么/要不要使用服务器端渲染 (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) 可以帮助你实现最佳的初始加载性能。

关于“ssr和vue的区别有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ssr和vue的区别有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

ssr和vue的区别有哪些

这篇文章将为大家详细讲解有关ssr和vue的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ssr和vue的区别是:ssr是在服务器将组件渲染成HTML字符串后返回,而vue是在客户端发送请求后,
2023-06-29

vue和echarts的区别有哪些

小编给大家分享一下vue和echarts的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vue和echarts的区别:1、vue是一套用于构建用户界面的
2023-06-22

react和vue的区别有哪些

这篇文章主要介绍了react和vue的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。区别:vue是双向绑定的,采用template;react是单向的,采用jsx。
2023-06-08

vue-cli3和vue-cli2的区别有哪些

这篇文章主要介绍“vue-cli3和vue-cli2的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue-cli3和vue-cli2的区别有哪些”文章能帮助大家解决问题。区别:1、“vu
2023-06-29

vue和js区别有哪些

这篇文章将为大家详细讲解有关vue和js区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue和js区别:1、js首先都要获取到DOM对象,再对DOM对象进行进行值的修改等操作;2、Vue是首先把
2023-06-14

vue和layui有哪些区别

这篇文章主要讲解了“vue和layui有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue和layui有哪些区别”吧!vue和layui的区别:1、vue是一套用于构建用户界面的渐
2023-06-22

Angular8和Vue间的区别有哪些

今天小编给大家分享一下Angular8和Vue间的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。设计思路不同Ang
2023-07-06

vue.js和vue-cli有哪些区别

这篇文章主要介绍“vue.js和vue-cli有哪些区别”,在日常操作中,相信很多人在vue.js和vue-cli有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue.js和vue-cli有哪些区别
2023-06-29

Vue中computed和watch的区别有哪些

小编给大家分享一下Vue中computed和watch的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述我们在 Vue 项目中多多少少都会有用到 co
2023-06-15

Vue中afterEach和beforeEach的区别有哪些

本篇内容介绍了“Vue中afterEach和beforeEach的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!路由写法 rout
2023-07-04

vue中data和data()的区别有哪些

小编给大家分享一下vue中data和data()的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!data和data()的区别Vue实例中data属性new Vue({ el: #app, data: {
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录