关于 SAP UI5 对服务器端渲染 Server Sider Render 的支持问题

举报
汪子熙 发表于 2022/07/19 23:20:41 2022/07/19
【摘要】 之前 Jerry 的公众号文章介绍过 SAP 产品的渲染模式:SAP UI渲染模式:客户端渲染 VS 服务器端渲染关于 SAP 产品 UI 的搜索引擎优化 SEO - Search Engine Optimization深入学习SAP UI5框架代码系列之二:UI5 控件的渲染器其中提到,SAP UI5 采取的是客户端渲染,Client Side Render 即 CSR.那么,SAP UI...

之前 Jerry 的公众号文章介绍过 SAP 产品的渲染模式:

其中提到,SAP UI5 采取的是客户端渲染,Client Side Render 即 CSR.

那么,SAP UI5 是否像 SAP Spartacus 那样,同时支持客户端渲染和服务器端渲染呢?

我根据 SAP UI5 SSR 的关键字,在搜索引擎上查找了一番。

1. 要求 SAP UI5 Web Component 支持 SSR 的请求

链接

您的功能请求是否与问题有关? 请描述。

如果 UI5 Web 组件可以支持使用 Next.js 等流行框架的服务器端渲染,那就太棒了。 我们在用于 React 包装器的 UI5 Web 组件中收到了类似的问题。

描述您想要的解决方案

我想在例如使用 UI5 Web 组件 Next.js 无需应用变通方法。 因此,一些围绕文档的 API 需要一个抽象,以确保它们在 SSR 期间不会崩溃,并且会在客户端上被 hydrated.

描述您考虑过的替代方案

当您非常仔细地注意导入组件的位置时,可以使用 Next.js 中已有的 UI5 Web 组件。 导入 ui5 按钮,例如在 useEffect 中将使您能够渲染按钮。 但是,如果您现在正在导入一个图标,它将崩溃,因为图标导入正在访问 SharedElementRegistry,而 SharedElementRegistry 正在访问 SSR 期间未定义的 document 对象。

2. Support for Static Site Generators

链接

需求:我真的很喜欢 React 的 UI5 WebComponents。 我想将它与静态站点生成器(如 Next.js 或 Gatsby.js)结合使用,但它不起作用。 我认为目前不支持服务器端渲染。 如果您可以支持它以提高初始页面加载的速度,那就太好了。

现状

尝试 SSR HTML 自定义元素时存在一些问题。

截至今天,Web 组件不支持 SSR。 我们做了一些实验,在服务器端使用渲染器来渲染 Web 组件的初始内容,并在客户端做一些渐进式增强,但到目前为止它只是一个 POC。 但我有点想知道,为什么 Web 组件不能与 Next.js 或 Gatsby.js 一起使用——它们可以简单地呈现自定义 HTML 标签,然后 Web 组件在客户端呈现。 但我不得不承认,我并没有在 Next.js 或 Gatsby.js 的细节中对此进行判断。

确实网络上现在对 SAP UI5 SEO 和 SSR 的资料很少。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。