>首页> IT >

ssr和vue的区别是什么

时间:2022-03-17 11:50:22       来源:PHP中文网

本文操作环境: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是在服务器渲染成字符串后返回

三、渲染一个vue实例

初始化

下载安装

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的区别是什么的详细内容,更多请关注php中文网其它相关文章!

关键词: 应用程序 服务器端 到达时间