关于 SAP Spartacus 服务器端渲染 SSR 无法使用窗口宽度以进行自适应设计的问题

简介: 关于 SAP Spartacus 服务器端渲染 SSR 无法使用窗口宽度以进行自适应设计的问题

Storefront 的屏幕布局由可配置的断点(configurable breakpoints)驱动。断点具有可配置的屏幕尺寸(即 < 576px),并且关联的屏幕名称可用于进一步定义布局。


一个很好的例子是页面模板槽配置,它可以根据屏幕名称进行调整,以便布局因屏幕尺寸而异(即移动与桌面)。


然而,其他功能也可以使用屏幕名称来进一步增强功能的呈现。一个很好的例子是表格组件,它有一个基于屏幕的可配置标题列表。


屏幕特定 DOM 的创建就是我们所说的自适应设计(adaptive design)。此设计针对小屏幕进行了优化,但也针对可访问性进行了优化。


这种技术的问题在于它是由窗口宽度驱动的。断点配置与实际窗口宽度进行比较,并且会在实际窗口发生变化时发生变化。


然而,在 SSR 上,我们没有窗口。我们无法通过比较窗口大小来找到屏幕。这就是我们目前在 SSR 上使用移动优先(mobile-first )方法的原因。然而,这会导致问题,因为:


生成的布局可能无法反映实际的窗口大小

生成的内容可能不足以供爬虫使用

为了解决这个问题,我们需要考虑几个方面:


我们可以在组合中引入设备检测。我们只会在 SSR 中执行此操作,并且需要将检测到的设备类型映射到我们在断点配置中定义的屏幕.


一旦我们根据设备类型在 SSR 中呈现多个版本,我们应该在 SSR 之上的任何缓存层(主要是 Web 服务器缓存和 CDN)中考虑到这一点。


我们可以通过将设备类型公开为标头来做到这一点。


目前尚不清楚我们需要为设备公开什么级别的粒度。想到以下几点:


mobile

desktop

table

机器人/爬虫



相关文章
|
1月前
|
JavaScript 搜索推荐 UED
描述 Vue 的服务器端渲染(SSR)。
描述 Vue 的服务器端渲染(SSR)。
23 3
|
3月前
|
数据采集 JavaScript 前端开发
服务器端渲染(SSR)和客户端渲染(CSR)
服务器端渲染(SSR)和客户端渲染(CSR)
|
3月前
|
前端开发 搜索推荐 UED
从性能到用户体验,探索服务器端渲染(SSR)与客户端渲染(CSR)的比较与选择
在现代 Web 开发中,服务器端渲染(SSR)和客户端渲染(CSR)是两种常见的渲染方式。本文将对它们进行比较,从性能、开发体验和用户体验等方面探讨它们的优劣势,以帮助开发者做出合适的选择。
|
3月前
|
数据采集 前端开发 JavaScript
服务器端渲染(SSR)和客户端渲染(CSR)的比较与选择
服务器端渲染(SSR)和客户端渲染(CSR)是现代 Web 开发中广泛使用的两种渲染方式。本文将从性能、SEO、开发成本等角度对两者进行比较,并提供选择建议。
|
3月前
|
缓存 数据库 UED
SSR 服务器端渲染:提升用户体验的新趋势(下)
SSR 服务器端渲染:提升用户体验的新趋势(下)
SSR 服务器端渲染:提升用户体验的新趋势(下)
|
3月前
|
前端开发 JavaScript 搜索推荐
SSR 服务器端渲染:提升用户体验的新趋势(上)
SSR 服务器端渲染:提升用户体验的新趋势(上)
SSR 服务器端渲染:提升用户体验的新趋势(上)
|
3月前
|
缓存 JavaScript 前端开发
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
27 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
13 0
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0

热门文章

最新文章