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

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

  • SAP UI渲染模式:客户端渲染 VS 服务器端渲染
  • 关于 SAP 产品 UI 的搜索引擎优化 SEO - Search Engine Optimization
  • 深入学习SAP UI5框架代码系列之二:UI5 控件的渲染器
其中提到,SAP UI5 采取的是客户端渲染,Client Side Render 即 CSR.
那么,SAP UI5 是否像 SAP Spartacus 那样,同时支持客户端渲染和服务器端渲染呢?
我根据 SAP UI5 SSR 的关键字,在搜索引擎上查找了一番。
关于|关于 SAP UI5 对服务器端渲染 Server Sider Render 的支持问题
文章图片

1. 要求 SAP UI5 Web Component 支持 SSR 的请求 链接
您的功能请求是否与问题有关? 请描述。 【关于|关于 SAP UI5 对服务器端渲染 Server Sider Render 的支持问题】如果 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 的资料很少。

    推荐阅读