zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SAP Spartacus 服务器端 nodejs 应用里渲染 Angular Component 的一个例子

SAPNodejsAngular应用 一个 例子 渲染 Spartacus
2023-09-14 09:02:54 时间

触发方式:将下列 url 粘贴到浏览器地址栏里,回车:

http://localhost:4000/Open-Catalogue/Cameras/Hand-held-Camcorders/c/584

最终会触发一系列递归的函数调用:

  • refreshView
  • refreshChildComponents
  • refreshComponent
  • refreshEmbeddedViews

在 refreshView 里,会调用 Component 的一系列 hook,比如 ngOnInit:

注意

下列这些代码执行,都是在服务器端,nodejs 服务器运行环境下执行的!

在服务器端运行环境下,window 等全局变量不可用。

ComponentWrapperDirective 指令的 ngOnInit,最终会调用 this.launchComponent 方法,创建 Component 实例:

通过执行模板函数的方式,执行服务器端渲染,下图就是具体的模板生成逻辑。

其中,访问 url 后看到的业务数据,即 category code 为 584 对应的产品数据,都是通过服务器端调用 Commerce API,从 Commerce Cloud 后台读取的:

http://localhost:4000/Open-Catalogue/Cameras/Hand-held-Camcorders/c/584

this.search 执行的参数:

更多Jerry的原创文章,尽在:“汪子熙”: