本文主要介绍 UmiJS 的预渲染功能。
服务端渲染(Server-Side Rendering),是指由 服务端 完成页面的 HTML 结构拼接的页面处理技术,发送到浏览器,然后为其绑定状态与事件,成为完全可交互页面的过程。
服务端渲染,首先得有后端服务器(一般是 Nodejs)才可以使用,而没有后端服务器的情况下,可以使用 预渲染 。
预渲染与服务端渲染唯一的不同点在于 渲染时机 ,服务端渲染的时机是在用户访问时执行渲染(即实时渲染,数据一般是最新的),预渲染的时机是在项目构建时,当用户访问时,数据不一定是最新的( 如果数据没有实时性,可以直接考虑预渲染 )。
预渲染在构建时执行渲染,将渲染后的 HTML 片段生成静态 HTML 文件。无需使用 web 服务器实时动态编译 HTML,适用于 静态站点生成 。
Umi3 在 SSR 上做了大量优化及开发体验的提升,具有以下特性:
默认情况下,服务端渲染时关闭的,可通过配置开启:
服务端渲染的数据获取方式与 SPA(单页应用) 有所不同,为了让客户端和服务端都能获取到同一份数据,Umi 提供了页面级数据的预获取。
每个页面可能有单独的数据预获取逻辑,这里我们会获取页面组件上的 getInitialProps 静态方法,执行后将结果注入到该页面组件的 props 中,如:
getInitialProps 有几个固定参数:
为了结合数据流框架,我们提供了 modifyGetInitialPropsCtx 方法,由插件或应用来扩展 ctx 参数,以 dva 为例:
然后在页面中,可以获取到 store :
同时也可以在自身应用中进行扩展:
同时可以使用 getInitialPropsCtx 将服务端参数扩展到 ctx 中,例如:
在使用的时候,就有 req 对象,不过需要注意的是,只在服务端执行时才有此参数:
则在执行 getInitialProps 方法时,除了以上两个固定参数外,还会获取到 title 和 store 参数。
关于 getInitialProps 执行逻辑和时机,需要注意:
执行 umi build ,除了正常的 umijs 外,会多一个服务端文件: umiserverjs (相当于服务端入口文件)。然后在后端框架中,引用该文件:
render 方法参数和返回值如下:
完美兼容客户端动态加载,配置如下:
@umijs/preset-react 插件集中已内置对标题的渲染,通过以下步骤使用:
@umijs/preset-react 插件集中已内置 dva
这时候 getInitialProps(ctx) 中的 ctx 就会有 store 属性,可执行 dispatch ,并返回初始化数据。
Umi 同时支持对服务端和客户端包大小的分析
*** 作如下:1下载安装好ssr服务,打开ssr服务。
2右击选中选项设置中打开允许来自局域网内的连接。
3然后设置用户名和密码。
4最后在cmd窗口输入·set >缺点:1、SEO问题
2、首屏速度问题
3、消耗性能的问题
优点:
1、更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面
2、首屏渲染速度快
SSR 简单来说就是将页面在服务端渲染完成后在客户端直接展示。
indextemplatehtml
serverjs
vue项目是通过虚拟 DOM来挂载到html的,所以对spa项目,爬虫才会只看到初始结构。虚拟 DOM,最终要通过一定的方法将其转换为真实 DOM。虚拟 DOM 也就是 JS 对象,整个服务端的渲染流程就是通过虚拟 DOM 的编译成完整的html来完成的。
需要通过Webpack打包生成两份bundle文件:
Client Bundle,给浏览器用。和纯Vue前端项目Bundle类似
Server Bundle,供服务端SSR使用,一个json文件
不管项目先前是什么样子,是否是使用vue-cli生成的。都会有这个构建改造过程。在构建改造这里会用到 vue-server-renderer 库,这里要注意的是 vue-server-renderer 版本要与Vue版本一样。
打包之后目录结构
vueconfigjs
indextemplatehtml
打包成客户端和服务器端
启动node服务
github地址: >
关闭服务器端口的具体步骤如下:
1、首先,打开桌面,选择“开始”,找到“控制面板”路径。
2、然后进入“控制面板”,左键点击“管理工具”进入。
3、然后在界面中选择“管理工具”,双击“服务”即可进入。
4、然后我们找到港口关闭。在本文中,我们以BranchCache为例来寻找分支缓存服务。
5、然后双击d出的对话框。
6、然后在启动类型中选择[Disable],然后单击[OK]关闭当前服务器端口。
1、浏览器1找到电脑任务栏右小角的小飞机图标2右键点击小飞机图标,依次找到服务器订阅SSR服务器订阅设置3打开订阅设置窗口,先点击Add再把订阅地址粘贴到网址的输入框里,其他都不用填,然;1首先启动“SSRshadowsockr的简称”软件2然后右键单机紫色的小飞机找到服务器订阅SSR服务器订阅设置3点击“Add”按钮,输入SSR订阅地址,然后点击确定订阅地址在后面 ,多条线路都可以使用4然后再次;2021小火箭SSR节点免费分享v2rayvmess节点链接每日更新913 今日周一,9月13日,免费小火箭ssr节点订阅地址及最新ss节点推荐分享更新于2021年9月13日17点,需要付费节点下方推荐点击出门右拐即可,昨天更新资源部分可用;正确是ssr节点,是一台服务器ShadowsocksR简称SSR是Shadowsocks分支,在Shadowsocks的基础上增加了一些数据混淆方式,称修复了部分安全问题并可以提高QoS优先级SSR节点就是一台服务器,可以利用SSR在远程的服务器上配置SSR;方法如下一,先下载ssR一windows客户端并解压,并复制订阅地址二,首先打开shadowrocket客户端右键点击托盘栏点击飞机图标在服务器栏选ssR服务器订阅设置,然后在add按键右侧输入框粘贴节点订阅地址点击自动更新点确定在电信。2、网络问题网络问题导致ssr小飞机点了没反应,重新设置路由器,设置完成后,再次连接;ssr订阅节点可以多用户使用的SSSSR是目前流行的**方式,主要用于访问国外浏览器和网站,ShadowSocksR则是原版ShadowSocksSS的一个衍生版本相比原版而言,主要增加了混淆参数功能,相对来说能够更好的保证数据传输安全;1首先启动“SSRshadowsockr的简称”软件2然后右键单机紫色的小飞机找到服务器订阅SSR服务器订阅设置3点击“Add”按钮,输入SSR订阅地址,然后点击确定订阅地址在后面 ,多条线路都可以使用4然后再次回;听了新伙伴的自我介绍,九妹才知道这两只小家伙原来就是黑颈鹤,世界上唯一在高原繁殖的鹤类,属于易危物种勿以稀为贵 九妹能够感受到蛙仔旅行途中中真正珍贵的东西,不是SSR明信片,不是3000的锦鲤玉佩,而是能与这些已经;1首先启动“SSRshadowsockr的简称”软件 2然后右键单机紫色的小飞机找到服务器订阅SSR服务器订阅设置 3点击“Add”按钮,输入SSR订阅地址,然后点击确定订阅地址在后面 ,多条线路都可以使用 4然后。
3、扫描二维码添加扫描二维码添加,点击右上角扫描符号,可以打开相机扫描,也可以从相册提取二维码扫描这个方式最为方便了,一键完成小火箭支持多种类型节点,例如SSSSR,GFW等等多类型的节点方式,是根据不同的协议不;如果是新版SSR客户端 *** 作步骤右键quot设置选项quot勾选quot允许来自局域网的连接quot2你必须得知道你这台电脑的IP地址 CMD里运行ipconfig即可,这里00就是你电脑的IP地址啦3给游戏机,手机等设备这;SSR攻略,秘籍去淘宝搜索“SSR攻略\秘籍”“王者荣耀荣耀水晶抽奖”等关键词,就会发现相关的商品数量奇多,而且销量还非常可观SSR节点就是一台服务器,可以利用SSR在远程的服务器上配置SSR,使其能够成为SSR节点,这样本;2复制订阅地址,打开SSR菜单,点击订阅地址,添加节点等重要信息,切勿订阅地址分享给他人3添加节点信息,首先,打开ShadowsocksR客户端,右键点击,找到托盘栏,点击纸飞机图标,在服务器选项栏里选择SSR服务器订阅设置。
4、点击最上方的小飞机标志开始连接,如果系统提示***相关内容,同意确定,等会就可以连接成功了正常情况下,手机所有流量都会经代理路由这项的功能是流量分流,默认为全局模式,即所有流量走SSR。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)