当前位置:网站首页>SAP 电商云 Spartacus UI 页面布局的设计原理
SAP 电商云 Spartacus UI 页面布局的设计原理
2022-08-04 16:38:00 【华为云】
Spartacus 每个 UI 划分成不同的区域 section,每个区域由若干个 slots 组成。每个 slot 可以包含一个或多个 CMS Component.
我曾经写过一篇 文章 详细介绍过。
以 homepage为例,其实现的 HTML 位置:projects\storefrontlib\src\layout\main\storefront.component.html
看这个 header 区域:
这个 header 区域分配的 slots,定义在文件 layout-config.ts 里:
这些 slots 里包含的 CMS Components,运行时渲染好之后,显示的内容如下图高亮区域所示:
客户可以通过配置的方式,决定这些 slots 哪些显示,哪些不显示,以及调换slots 间的相对位置。
比如我让 header 区域只显示一个 Sitelogo:
最后的效果如下图:
我曾经出于调试目的,把 UI 上每个区域的 slot id 和 Component id 都打印出来,如下图所示:
副标题:SAP Spartacus SSR 优化的单元测试分析之二 - 调用参数检测
源代码:
it(`should pass parameters to the original engine instance`, () => { expect(originalEngineInstance).toHaveBeenCalledWith( mockPath, mockOptions, mockCallback ); });
注意观察 jest.Expect 的返回值:类型为 jest.JestMatchersShape
单步调试 expect 的调用过程:
从注释看,该函数为 spec 创建一个 expectation, 传入的 actual 为 spy 之后的版本。
构造一个 expectation,需要以上的参数。
紧接着调用 toHaveBeenCalledWith:
支持的所有方法,在 Chrome 开发者工具里能够看到:
toHaveBeenCalledWith
执行到这里来了:
所有可用的匹配器 matchers,都定义在文件 jasmine.js 里:
因此,toHaveBeenCalledWith 也算匹配器 matchers 之一。
构造一个匹配器实例:
调用匹配器工厂,构造一个匹配器实例:
其实例的运行代码如下图所示:
比较实际被调用的参数,是否和期望被调用的参数完全一致。
进入数组的比较分支:
边栏推荐
- 《分布式云最佳实践》分论坛,8月11日深圳见
- Mobile zte ZXV10 B860AV2. 1 - A_S905L2_MT7668_ wire brush the firmware package
- LeetCode·84.柱状图中最大的矩形·单调递增栈
- 码蹄集 - MT2142 - 万民堂大厨
- 花 30 美金请 AI 画家弄了个 logo,网友:画得非常好,下次别画了!
- CSDN21天学习挑战赛——程序流程控制(02)
- 移动百事通BesTV_R3300-L_S905L_8189_线刷固件包
- 生产环境重大bug,update加上索引字段会走索引进行更新?还是走全表扫描
- 广东湛江海关破获3起走私冻海产品案 查证案值约1亿元
- 刷爆朋友圈!Alibaba出品亿级并发设计速成笔记太香了!
猜你喜欢
随机推荐
跟我学 UML 系统建模
JVM调优-GC基本原理和调优关键分析
开源一夏 | 请你谈谈网站是如何进行访问的?【web领域面试题】
工龄10年的测试员从大厂“裸辞”后...
葫芦娃解析
B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条
Mobile magic box CM201-1_CW_S905L2_MT7668_wire brush firmware package
谷粒商城笔记
软考 --- 软件工程(2)软件开发方法
闭包及闭包的使用
从正负样本解耦看对比学习为何需要large batch size训练Ddcoupled Contrastive learning (DCT)
移动魔百盒CM201-1_CW_S905L2_MT7668_线刷固件包
911S5正式谢幕后 如何找到一个好用的替代品
什么是APS?APS+MES如何解决生产难题?
九联_UNT400G_S905L2_(联通)_线刷固件包
查看每个数据库分配给了哪些用户权限,这个有接口吗
会话劫持安全攻击
屏幕分辨率兼容性
移动中兴ZXV10 B860AV2.1-A_S905L2_MT7668_线刷固件包
Win10 无线网卡驱动感叹号,显示错误代码56