关于sap:SAP-电商云-Spartacus-UI-的-feature-module-设计原理

53次阅读

共计 853 个字符,预计需要花费 3 分钟才能阅读完成。

咱们以一个具体的例子来阐明该原理。

咱们查看某 integration library 目录下的 public_api.ts:

关注 module:

这个 lib 蕴含的 module 为 EpdVisualizationModule 以及对应的配置:EpdVisualizationConfig

留神第八行 import 的 VisualPickingTabModule,这个才是蕴含了 Angular Component 的 module.

入口是 VisualPickingTabComponent:

对于 Spartacus 来说,它只关怀最顶层的 EpdVisualizationModule.

SpartacusFeaturesModule

SpartacusFeaturesModule 旨在轻松治理所有非核心 Spartacus 性能,包含动态加载和提早加载。它充当所有性能的入口点,现实状况下,这些性能被包装到本人的独立功能模块中。

在晚期的 3.x 主要版本中,SpartacusFeaturesModule 可能看起来臃肿而繁忙,但随着每个间断的公布,它应该变得更加简洁,因为致力将大部分性能移到独自的库中。

现实状况下,能够将一个残缺的性能封装到一个特定的功能模块中。该模块能够蕴含与性能相干的配置以及自定义。

依据环境变量 environment 对应的值来决定插入哪些 feature module 到数组 featureModules 里。

最初

SpartacusFeatureModule import 的 module 蕴含两局部,mandatory 的 core module(硬编码),以及上文形容的 featureModules 数组里的 module 两局部。

linux 零碎:

export SPA_ENV=epd-visualization

windows 零碎:
set CX_EPD_VISUALIZATION=true&& yarn start:local

开启 CX_EPD_VISUALIZATION 之后,就能看到对应的 CMS mapping 了:

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

正文完
 0