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

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

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

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

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

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

  • 生成的布局可能无法反映实际的窗口大小
  • 生成的内容可能不足以供爬虫使用

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

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

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

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

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

  • mobile
  • desktop
  • table
  • 机器人/爬虫

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

  1. 关于自定义的登录机制在SAP Spartacus服务器端渲染(SSR)实施过程中遇到的问题

    问题背景 某客户使用了第三方的Authentication service来实现Spartacus用户的登录机制: In our project we have integration with MD ...

  2. SAP Spartacus 服务器端渲染文件 server.js 和构建后的 main.js 对比

    构建之前: 构建之后: 其中 express__WEBPACK_IMPORTED_MODULE_3__ 来自 module uX2x: uX2x 来自 node_modules/express/ind ...

  3. SAP Spartacus 服务器端渲染调试的开发端版本

    我按照这篇文章手动安装 SAP Spartacus 3.3.0版本并启用服务器端渲染 SSR 的介绍,启用了 SAP Spartacus 服务器端渲染,并且按照SAP Spartacus服务器端渲染模 ...

  4. SAP Spartacus 服务器端渲染单步调试步骤之二:在服务器端执行应用程序 Angular 代码

    前文:SAP Spartacus 服务器端渲染单步调试步骤之一:应用程序准备工作 入口: 进入 platform-server.js: 入口: 最终在服务器端执行 bootstrap,输入 Compo ...

  5. SAP Spartacus 服务器端渲染处理内存泄漏的准则

    开启服务器端渲染(SSR) 的 SAP Spartacus 实例,运行在 CCV2 Pod 里,当下列情况出现时,可能会造成 pod 的重启: resource allocation for SSR ...

  6. SAP Spartacus服务器端渲染模式下的调试方法

    在使用本文章介绍的步骤进行SAP Spartacus Storefront在服务器端渲染模式(SSR)下的调试之前,请您确保已经按照如下帮助文档的介绍,已经成功启用了服务器端渲染: https://s ...

  7. SAP Spartacus 服务器端渲染找不到 index 视图的问题

    我基于 SAP Spartacus 源代码级别 4.0 版本进行 SSR 调试时,遇到如下错误:在 dist/storefrontapp 文件夹下面,找不到 index 视图: Error: Fail ...

  8. SAP Spartacus 服务器端渲染模式下,在 Node.js 服务器端渲染视图的单步调试

    入口:在 express-engine.js 文件的 render 函数设置断点: 进入 platform-server.js: 这个文件就是 SAP Spartacus 开启服务器端渲染之后,pac ...

  9. SAP Spartacus 服务器端渲染编程规范

    链接:https://sap.github.io/spartacus-docs/server-side-rendering-coding-guidelines 禁止使用只有在浏览器环境下才可用的全局对 ...

最新文章

  1. 写给程序员的 HR 面试指南,助你踢好面试的临门一脚!
  2. jzoj5248-[NOIP2017提高A组模拟8.10]花花的聚会【倍增,树形dp】
  3. 用Spring组成自定义注释
  4. android照片编辑软件,照片编辑免费软件下载-照片编辑软件app下载 v7.45最新版_5577安卓网...
  5. Sublime删除所有包含特定值的行
  6. JAVA table word,实战 | Java读取Word,包含表格!
  7. 题目1417:变形金刚
  8. VMware NAT模式设置静态IP(可上网)
  9. java使用itext开源包实现pdf文件合并,亲测可用,响应速度快的惊人
  10. selenium--python如何定位一组元素并返回文本值
  11. 十天学会单片机(1)单片机的认识、各进制、门运算、c51
  12. CUDA的下载与安装
  13. PHP 类似time控件功能,最新火车头免费伪原创插件,多功能秒杀市面上所有同类工具...
  14. 机器学习UCI数据库
  15. Kaldi的关键词搜索(Keyword Search,KWS)
  16. 使用paypal-php-sdk开发php国际支付
  17. 计算机专业被check后拒签,签证被Check是怎么一回事?解读美签的几种情况
  18. iOS内存分配与五大区域
  19. C# WPF 建立无边框(标题栏)的登录窗口
  20. Python:通过网络爬虫实现一个简易控制台音乐播放器

热门文章

  1. 利用redis实现分布式锁
  2. vs2015+opencv+qt打包exe的问题
  3. 深入浅出Java多线程
  4. 常用 SQL 语句汇总
  5. Linux 文件权限详解 含义和修改和安全
  6. 关于 Method Swizzing方法
  7. Windows 2000 Active Directory FSMO 角色
  8. 老男孩最近几年常用的免费的开源软件
  9. .NET MasterPage技术
  10. vue+Element ui中使用 upload实现Excel文件上传