您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关ssr和vue的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
ssr和vue的区别是:ssr是在服务器将组件渲染成HTML字符串后返回,而vue是在客户端发送请求后,服务器返回空的HTML、css、js等,组件在客户端进行渲染。
本文操作环境:windows10系统、Vue2.9.6版,DELL G3电脑。
ssr
是vue
的服务端渲染技术,nuxt
是一个可以用来做ssr
服务端渲染开发的框架.ssr
是技术基础,nuxt
是封装
Vue.js
是构建客户端应用程序的框架。默认情况下,可以在浏览器中输出 Vue
组件,进行生成 DOM
和操作 DOM
。全部的操作都是在客户端运行. 在这种情况下, 生命周期 mounted
之前 ,看不到任何东西的, 或者如果我们的客户端瑞浏览器,禁用了js
功能的话, 就会一片空白
然而,vuejs
也可以将同一个vue
组件在服务器端直接就渲染为 HTML
字符串,将它们直接发送到浏览器,最后将这些静态标记"激活"为客户端上完全可交互的应用程序
普通vue
是客户端发送请求后,服务器返回空的HTML,css,js
等,在客户端进行渲染ssr
是在服务器渲染成字符串后返回
npm init
npm install vue vue-server-renderer --save
// 第 1 步:创建一个 Vue 实例 const Vue = require('vue') const app = new Vue({ template: `<div>Hello World</div>` }) // 第 2 步:创建一个 renderer const renderer = require('vue-server-renderer').createRenderer() // 第 3 步:将 Vue 实例渲染为 HTML renderer.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>
npm install express --save
// 第 1 步:创建一个 Vue 实例 const Vue = require('vue') const express = require('express')//创建服务器 const app = new Vue({ template: `<div>Hello World</div>` }) const server = express() // 第 2 步:创建一个 renderer const 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
与传统 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的区别有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。