日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP Spartacus module 层级结构设计的一种实践

發布時間:2023/12/19 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP Spartacus module 层级结构设计的一种实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Reference App Structure

這個推薦的 Spartacus 應用程序結構旨在作為您設置自己的 Spartacus 應用程序時的參考。

Spartacus 是一個 Angular 庫,這意味著它可以在 Angular 應用程序中單獨使用,也可以集成到現有的 Angular 項目中。相反,您可以將任何其他 Angular 解決方案或庫添加到您的 Spartacus 項目中。

Spartacus 本身帶有多個層和概念,以及一些可以延遲加載開箱即用的較小特征庫。自定義和第三方代碼進一步增加了復雜性,您最終可能會得到難以維護的模塊,因為它們將太多這些元素混合在一起。

這可以通過定義和遵守標準化結構來解決,例如 Spartacus 參考應用程序結構。擁有標準化結構還可以更輕松地將新開發人員納入您的項目、處理外部支持案例以及進行審計。

通過使用 Spartacus 參考應用程序結構,您可以從每個主要 Spartacus 版本提供的自動遷移中獲益最多,同時還保持添加自定義的靈活性,并在這些自定義之上構建新功能。使用參考應用程序結構還可以為 3.0 版本后移入單獨庫的功能利用代碼拆分。

要查看使用參考應用程序結構的工作示例,請參閱此存儲庫。

Spartacus Module

該 module 導入 B2C 或者 B2B 配置 module,以及 BaseStorefrontModule 和 SpartacusFeaturesModule:

導出 BaseStorefrontModule.

注意,雖然 Angular Router 和 NgRx 都是 Spartacus 使用的,但是這些都會影響全局應用,所以它們被保存在 SpartacusModule 之外,直接導入到 AppModule 中。

SpartacusModule 由以下部分組成:

  • BaseStorefrontModule,它封裝了大多數 Spartacus 應用程序通常需要的核心 Spartacus 導入。

BaseStorefrontModule 直接從@spartacus/storefront 導入。

  • SpartacusFeaturesModule,它封裝了 Spartacus 功能。
  • SpartacusConfigurationModule,它封裝了通用的 Spartacus 配置。

在大多數情況下,Spartacus 模塊不會被修改,因為更改通常封裝在配置模塊或功能模塊中。

下面是 SpartacusModule 的實現:

import { NgModule } from '@angular/core'; import { BaseStorefrontModule } from '@spartacus/storefront'; import { SpartacusConfigurationModule } from './spartacus-configuration.module'; import { SpartacusFeaturesModule } from './spartacus-features.module';@NgModule({imports: [BaseStorefrontModule,SpartacusFeaturesModule,SpartacusConfigurationModule,],exports: [BaseStorefrontModule], }) export class SpartacusModule {}

Spartacus Configuration Module

該 Module 包含所有全局的配置元素。

特性特定的配置可以保存在特性模塊中,也可以保存在 SpartacusConfigurationModule 中。 將它們保存在功能模塊中有助于保持良好的關注點分離,因此通常建議這樣做,但如果有助于解決特定問題(例如,通過使用 env 更改配置)。

Spartacus Features Module

SpartacusFeaturesModule 旨在輕松管理所有非核心 Spartacus 功能,包括靜態加載和延遲加載。 它充當所有功能的入口點,理想情況下,這些功能被包裝到自己的獨立功能模塊中。

在早期的 3.x 次要版本中,SpartacusFeaturesModule 可能看起來臃腫而忙碌,但隨著每個連續的發布,它應該變得更加簡潔,因為努力將大部分功能移到單獨的庫中。

例子:

Specific Feature Modules

理想情況下,可以將一個完整的功能封裝到一個特定的功能模塊中。該模塊可以包含與功能相關的配置以及自定義。

以下是具有延遲加載配置的功能模塊的示例:

FeatureModule eager 加載輕量級的 QuickOrderRootModule,然后使用延遲加載,去處理包含了重量級的 Service 和 Component 實現的 QuickOrderModule.

某些 feature module 的啟用與否,通過環境變量來決定:

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的SAP Spartacus module 层级结构设计的一种实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。