首页 > 编程知识 正文

vue服务端渲染的解决方案,vue ssr事件

时间:2023-05-06 18:05:59 阅读:161250 作者:2871

ssr是vue的服务呈现技术,nuxt是可以用于ssr服务呈现开发的框架。

ssr是技术的基础,nuxt是软件包

一、什么是SSR? Vue.js是用于构建客户端APP应用程序的框架。 缺省情况下,可以将Vue组件输出到浏览器中,以生成DOM和操作DOM。 的所有操作都在客户端上执行。 在这种情况下,在生命周期mounted之前什么都看不到。 或者,如果在客户端的瑞浏览器中禁用了js功能,则为空

但是,vuejs也可以在服务器端将同一个vue组件直接呈现为HTML字符串,直接发送到浏览器,最后将这些静态标记“激活”作为完全可在客户端上交互的APP应用程序

二、ssr与普通vue的差异普通vue在客户端发送请求后,服务器返回空的HTML、css、js等,在客户端进行渲染

在服务器呈现为字符串后返回ssr

三.渲染一个vue实例以初始化npm init

下载并安装npminstallvuevue-server-renderer-- save

创建js //步骤1:vue实例constvue=require(vue ) ) constapp=newvue ({ template 3360 ` div hello world/div ` } )/步骤2:rendererconstrenderer=require (vue-server-renderer ).createRenderer )/步骤3 :将vue实例渲染为html renderer.html () if ) err ) throwerrconsole.log ) html )/=div data-server-rendered 是2 promise:renderer.render tostring (app ).then ) html={console.log(html ) } ).catch ) err={console.error

四.与服务器集成下载并安装npm install express --save

js //步骤1:vue实例constvue=require(vue ) (constexpress=require ) express ) /服务器constapp=newvue { template } 步骤2:rendererconstrenderer=require (vue-server-renderer ).createRenderer ) ) /的promise:renderer.render tostoss res ) ((/步骤3 )将Vue实例转换为htmlrenderer.rendertostring ) app,(err,html () if(err ) throwerrconsole.log ) html

四.为什么要使用/服务器端渲染(SSR )? 与传统的单页面APP (spa ) (服务器端呈现)相比,主要具有以下优点:

更好的SEO是因为可以直接用搜索引擎的爬虫捕获工具看到完全渲染的页面。 更快的内容到达时间(time-to-content ),特别是对于较慢的网络状况和运行较慢的设备。 您不需要等到所有JavaScript都下载并运行。 用户可以更快地看到完全渲染的页面。

使用服务器端渲染(SSR )时,还需要对开发条件的限制进行权衡。 某些浏览器特定代码(仅适用于特定的生命周期挂接函数(lifecycle hook ) )的外部扩展库(external library )可能需要特殊处理才能在服务器渲染APP中运行。 设置和部署的更多要求。 与可以部署到任何静态文件服务器上的完整静态单页APP应用程序(SPA )不同,服务器呈现APP应用程序必须位于Node.js server运行时环境中。 更多的服务器端负载。 在Node.js中呈现完整的APP应用程序明显比仅提供静态文件的server消耗更多的CPU资源,因此,如果希望在高流量环境(high traffic )中使用,请确保适当的服务器负载

在您的APP应用程序中使用服务器端呈现(SSR )之前,首先要问的问题是是否真的需要它。 这主要取决于内容到达时间(time-to-content )对APP应用的重要性。 例如,如果构建的是内部仪表板,则初始加载时的额外几百毫秒并不重要。 在这种情况下,使用服务器端渲染(SSR )就太夸张了。 但是,内容到达时间(time-to-content )要求是绝对重要的指标,在这种情况下,服务器端渲染(SSR )有助于实现最佳的初始加载性能。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。