封面图

SAP Spartacus 服务器端渲染的三种可能情形

2021-08-26
阅读 1 分钟
1.7k
说明 timeout 指定的时间间隔到了。timeout:Time in milliseconds to wait for SSR rendering to happen, 等待 SSR 渲染开始的超时时间,而不是 SSR 渲染的 duration.
封面图

为什么我们会看到 SAP Spartacus 服务器端渲染 `rendering in process` 的日志

2021-08-26
阅读 2 分钟
1.3k
问题:为什么我们会看到形如下列格式的日志?CSR fallback: rendering in progress每次新的请求到达 SSR 时,都会调用文件 spartacus-setup-ssr.js 中的 renderResponse 函数。在其中, this.shouldRender 被调用,以评估应如何处理此请求。在 shouldRender 中:step1:评估当前并发数是否达到上限。 评估逻辑是通过将当...
封面图

一些关于 SAP Spartacus 组件和模块延迟加载的问题和解答

2021-08-26
阅读 2 分钟
1.9k
仅执行组件延迟(Component lazy load)加载是不是不起作用?进行这项工作是否需要任何设置? 考虑到我们在整个网站上使用的共享组件,我们想采用这种方法(即组件延迟加载)。这样,我们可以只测试每个组件。
封面图

如何找到 SAP Spartacus 里某个 Component TypeScript 编译后生成的 JavaScript 位置

2021-08-23
阅读 2 分钟
976
需求如何找到触发该网络请求的准确代码位置?从 initiator 里查看调用栈上下文,一点头绪也没有。找到触发该网络请求的控件的 selector:cx-register在 Storefront TypeScript 源代码里查找不到:在编译生成的 JavaScript 里搜索 cx-register:找到三处只有直接查看 SAP Spartacus 源代码:cx-register 对应的 RegisterCo...
封面图

SAP Spartacus 如何重定义登录 Login Component

2021-08-23
阅读 2 分钟
1.1k
首先在一个标准的 Storefront 上,找到该 Component 的 selector 找到其 Component 名称:LoginComponent
封面图

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

2021-08-23
阅读 2 分钟
989
前文:SAP Spartacus 服务器端渲染单步调试步骤之一:应用程序准备工作入口:进入 platform-server.js:入口:最终在服务器端执行 bootstrap,输入 Component 为 AppComponent:这些调用栈和在客户端执行是一样的:一旦进入这个调用,说明服务器端应用程序的渲染已经结束了:html 变量包含了渲染好的 HTML 源代码:首先把...
封面图

SAP Spartacus 服务器端渲染单步调试步骤之一:应用程序准备工作

2021-08-23
阅读 3 分钟
953
所有常规请求都用 universal engine 渲染:Index 是静态页面,还得从 browser 文件夹里的资源出发:读取视图实例:拿到的 view 实例:根据请求实例拿到其 key:呈现的页面保存在内存中,以便在下次请求时提供服务。 如果 cache 设置为 false,则一旦成功返回第一个成功响应,响应就会被驱逐。OptimizedSsrEngine默认请求...
封面图

SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序

2021-08-23
阅读 3 分钟
2.5k
Spartacus 是一种基于 Angular 的 JavaScript 解决方案,主要在浏览器中运行。它是渐进式 Web 应用程序 (PWA) 之一,反过来又代表了响应式网站和应用程序的共生关系。这究竟是什么意思,SAP Spartacus 的优缺点是什么?
封面图

ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来

2021-08-16
阅读 8 分钟
1.9k
这是 Jerry 2021 年的第 56 篇文章,也是汪子熙公众号总共第 333 篇原创文章。本文目录SAP R/1:ABAP 初出茅庐SAP R/2:ABAP 初试锋芒SAP R/3:ABAP 一鸣惊人ABAP 的语法SAP ALVABAP 的未来ABAP 将来会消亡吗?SAP 总是善于根据市场最新的动态和变化,来调整其产品的命名策略。一个例子就是从诞生之初的 SAP HANA Cloud ...
封面图

乐高(LEGO)在线购物店面剖析

2021-08-16
阅读 5 分钟
1.3k
下图是 SAP Commerce Cloud(电商云) UI 加载默认的 SampleData 数据集后打开的主页,这是一个电子设备的在线购物店面,基于 SAP Spartacus 开源项目构建而成。
封面图

谈谈 SAP 产品 UI 开发中的组件概念

2021-08-16
阅读 7 分钟
1.9k
任何企业级软件的前端开发,都离不开组件(Component)这个概念。撇开具体的 UI 开发技术不谈,所谓组件,就是界面的组成部分(UI Building Blocks). 组件在视觉或者业务功能上,能够被视为单一元素。
封面图

SAP Spartacus internationalization ( i18n ) 翻译问题的排错指南

2021-08-16
阅读 2 分钟
1.4k
有 partners 在使用 SAP Spartacus 进行二次开发时,遇到这个警告消息:Translation key missing 'common.search' in the chunk 'common' in file spartacus-core.js
封面图

SAP Spartacus SimpleResponsiveBannerComponent url 的数据源

2021-08-16
阅读 4 分钟
1.2k
根据如下关键字,到 SAP Spartacus sampledata extension 里进行搜索:C:\Code\H2011\hybris\bin\custom\spartacussampledata
封面图

SAP Spartacus 产品明细页面的 url 设计和数据源

2021-08-16
阅读 2 分钟
894
明细页面 url:[链接]组件选择器:cx-generic-link 加上打印语句,发现是 local url 的情况:routerUrl 来自 this.routeParts.path:到上一层即 banner Component 里去查找:说明 generic link Component 的 url 是 banner Component 的 data$ 属性传入的:数据来自 this.component.data$:这个 Component 是自动注入的:...
封面图

什么是 CMS - Content Management System

2021-08-16
阅读 2 分钟
2.2k
内容管理系统不是构建您自己的用于创建网页、存储图像和其他功能的系统,而是为您处理所有基本的基础设施内容,以便您可以专注于网站的更多面向前的部分。
封面图

什么是无头电商 - headless commerce

2021-08-16
阅读 2 分钟
2.1k
在最简单的形式中,无头商务是电子商务应用程序的前端和后端的分离。这种架构为品牌提供了表达的自由,以构建他们想要的任何东西。最重要的是,它使品牌能够丰富客户体验。
封面图

SAP Commerce Cloud Backoffice CMS 里的内容一览

2021-08-16
阅读 4 分钟
1.1k
Websiteid 为 electronics-spa, site 属性:base store iddefault catalog分配的 theme 和 channel:B2C or B2B这个 content catalog 和开头的 default catalog ID 都不一样:site 的初始页面是 Homepage:url pattern:site map configuration:Metadata:CMSSite可以在 Hybris Administration console 里使用 flexible...
封面图

SAP Spartacus 如何根据 page layout 获得对应支持的 slots

2021-08-16
阅读 2 分钟
1.1k
在 SAP Spartacus PageLayout Component 的实现里,每一个 layoutName 对应都有一个 cxOutlet 可供扩展:
封面图

SAP Spartacus 里的 icon 设计

2021-08-16
阅读 1 分钟
1.2k
同 SAP Fiori 一样,SAP Spartacus 里也有大量的自定义 icon 设计,比如下图的 iconTypes.RESET:需要调用 iconLoader 获取 RESET icon 对应的 HTML 源代码:动态创建新的 link 标签,并加载对应的 css:css 地址:[链接]SAP Spartacus 所有支持的 icon 类型和提供这些 icon 形状的 css 文件 url,来自这个配置文件:proj...
封面图

关于 SAP Spartacus 默认 layoutConfig 的一些测试

2021-08-16
阅读 2 分钟
923
以 Spartacus-b2c-configuration.module.ts 文件为例:这些默认的配置文件,都是从另一个库,即 @Spartacus/Storefront 里导入的,后者的入口是 public_api 文件:在这个文件里加上一行打印语句,可以看到所有默认的配置:这些默认配置硬编码在 layout-config.ts 内:如果注释掉一部分:效果如下:Header 区域整个没了。...
封面图

SAP Spartacus 因为 refresh token 刷新令牌过期后显示用户重新登录页面的逻辑

2021-08-16
阅读 2 分钟
1.4k
如果确实过期了,首先调用 handleExpiredToken, 返回的 Observable 对象,使用该 token,重新发送之前因为 token 过期而失效的请求:createNewRequestWithNewToken:
封面图

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

2021-08-16
阅读 2 分钟
1.1k
之前 Jerry 的公众号文章介绍过 SAP 产品的渲染模式:SAP UI渲染模式:客户端渲染 VS 服务器端渲染关于 SAP 产品 UI 的搜索引擎优化 SEO - Search Engine Optimization深入学习SAP UI5框架代码系列之二:UI5 控件的渲染器其中提到,SAP UI5 采取的是客户端渲染,Client Side Render 即 CSR.那么,SAP UI5 是否像 SAP Spa...
封面图

SAP UI5 里如何让每次视图显示时都执行某方法

2021-08-16
阅读 5 分钟
1.1k
原文:SAPUI5: How to Call a Method Every Time a View Is Displayed?本文介绍每次在 SAPUI5 中显示视图时如何执行方法。有两种方法可以实现这一点。SAPUI5 提供了两种每次调用视图时执行代码的方法:视图控制器中的生命周期钩子路由匹配事件等路由机制例如,调用自定义方法,或执行 CRUD 请求(创建、读取、更新、删除...
封面图

使用开源微前端框架 Luigi 创建一个基于微前端架构的工程

2021-08-16
阅读 14 分钟
3.8k
微前端通常被称为“前端微服务”。 它们允许您将大型单体前端分解为独立的、可扩展的、可以协同工作的独立部分。 微前端架构对于复杂的产品或拥有众多团队的公司尤其有用,可以帮助您创建一致的 Web 应用程序。
封面图

关于 SAP 产品 UI 的搜索引擎优化 SEO - Search Engine Optimization

2021-08-07
阅读 5 分钟
1.2k
让我们简单回顾一下前文介绍的客户端渲染(Client Side Render,简称 CSR)和服务器端渲染(Server Side Render,简称 SSR)的区别。
封面图

使用Chrome开发者工具调试 Server–Side Rendered SAP Spartacus Storefront

2021-08-07
阅读 3 分钟
1.3k
In SAP Spartacus document there is a page for "How to Debug a Server–Side Rendered Storefront" using Visual Studio Code.
封面图

SAP Commerce Cloud UI 的用户会话管理

2021-08-07
阅读 5 分钟
1.3k
如无特殊说明,本公众号介绍的 SAP Commerce Cloud UI,均指新一代基于 Spartacus 开源项目开发的 UI,而非传统的基于 JSP 技术,同 Commerce 平台耦合在一起的 Accelerator UI.
封面图

基于 SAP Spartacus 的 SAP 电商云 SEO 搜索引擎优化的一个例子

2021-08-07
阅读 1 分钟
1.2k
这是一个客户采取 SAP Spartacus 实施的 Storefront - 电商店铺,已经上线了:[链接]该网站开启了 SSR 即服务器端渲染模式,便于网站的内容被网络爬虫索引:该页面源代码内的 title 标签内包含的内容,会出现在搜索引擎结果列表的网站标题区域内:description meta 标签内包含的内容,会出现在搜索引擎结果列表的网站描...
封面图

Chrome View Source Code 那些事

2021-08-07
阅读 4 分钟
2.2k
您页面的源代码会影响您的 SEO。 这是因为它是搜索引擎“阅读”的内容,以确定您的网站排名。 这基本上意味着页面源中未检测到的错误可能会导致您的网站无法按预期排名,更糟糕的是,会导致 SEO 数据不准确甚至糟糕的用户体验。
封面图

关于 SAP ABAP gateway OData 的一个诡异问题及解决办法

2021-08-07
阅读 6 分钟
1.5k
You can see that the old version of cache re-appears in the table in gateway system.
封面图

OAuth 2.0 协议学习笔记

2021-08-07
阅读 6 分钟
2.3k
在传统的客户端-服务器身份验证模型中,客户端通过使用资源所有者的凭据向服务器进行身份验证来请求服务器上的访问受限资源(受保护资源)。 为了向第三方应用程序提供对受限资源的访问,资源所有者与第三方共享其凭证。这产生了若干问题和限制。
封面图

从淘宝首页登录说起

2021-08-07
阅读 5 分钟
2k
这是 Jerry 2021 年的第 50 篇文章,也是汪子熙公众号总共第 327 篇原创文章。今天文章提到的场景,理论上本公众号每一位粉丝,都可以在自己的电脑上进行操作。因为涉及到的应用,几乎每一个人日常生活中都会使用到——淘宝网。Jerry 负责的是 SAP Commerce Cloud 前台开发,为何要写和淘宝网相关的文章?上个周日即7月25...
封面图

SAP Spartacus 用户请求中的 current id 是从哪里来的

2021-08-07
阅读 2 分钟
1.5k
这个 current id 从哪里来的呢?在 Spartacus 应用初始化的时候,从浏览器的 local storage 里取的。参考下图 syncWithStorage 方法:
封面图

SAP Spartacus 会使用 Session timeout 吗?

2021-08-07
阅读 2 分钟
1.3k
我假设您使用 Hybris OAuth 服务器的默认身份验证流程(密码流程)。 在这种情况下,会话长度是通过后台的 OAuth 客户端设置来控制的。
封面图

JavaScript 引擎和 Just-in-Time 编译概念,Hot Function 的简单介绍

2021-08-07
阅读 3 分钟
3.6k
所有主要浏览器都开发了自己的 JavaScript 引擎。 Chrome 有 V8,Firefox 运行 SpiderMonkey(第一个 JavaScript 引擎的进化产品,由 Brendan Eich 在 90 年代为 Netscape Navigator 开发),Microsoft Edge 有 Chakra,Safari 有 Nitro。 Node.js 建立在 Chrome 的 V8 引擎之上。 物联网设备也可以有一个 JavaScript 引...