SAP Spartacus 4.0 的技术变化
在您遷移到 4.0 版庫(kù)之前,我們強(qiáng)烈建議您切換到新的應(yīng)用程序結(jié)構(gòu)和新的功能庫(kù)。 在多個(gè)小步驟中進(jìn)行遷移更容易(遷移到新的應(yīng)用程序結(jié)構(gòu),切換到提取的功能庫(kù),然后遷移到 4.0),您可以確保在每一步之后一切仍然像以前一樣工作。 如果您需要了解我們?yōu)楹我氪烁牡母嘈畔?#xff0c;請(qǐng)閱讀下一章。
在 3.0 版本之前,我們開(kāi)始根據(jù)其職責(zé)分離庫(kù)。在 3.0 中,我們已經(jīng)在單獨(dú)的包中發(fā)布了一些庫(kù)(例如@spartacus/organization、@spartacus/storefinder)。我們也在次要 3.x 版本中繼續(xù)移動(dòng)更多的庫(kù)。我們?cè)噲D以一種沒(méi)有破壞性變化的方式做到這一點(diǎn)。但是,對(duì)于每個(gè)主要版本,我們都希望償還在次要版本中積累的技術(shù)債務(wù)。提取的庫(kù)是技術(shù)債務(wù)的巨大貢獻(xiàn)者,因?yàn)槲覀冊(cè)趦蓚€(gè)地方保留了相同的功能。在 4.0 版本中,我們將從核心庫(kù)(@spartacus/core、@spartacus/storefront、@spartacus/assets 和 @spartacus/styles)中刪除這些功能,這些功能已經(jīng)在次要版本中被提取到單獨(dú)的庫(kù)中。
在此過(guò)程中,我們發(fā)現(xiàn)我們不得不更改一些較大的模塊以適應(yīng)這些更改(例如 B2cStoreFrontModule、StorefrontModule 或 CmsLibModule)。
所以這就是為什么我們建議切換到不使用這些模塊的新應(yīng)用程序結(jié)構(gòu),并切換到新功能庫(kù)(如果它們存在于您正在使用的功能)。您可以在下面找到有關(guān)如何操作的通用指南。之后遷移到 4.0 應(yīng)該會(huì)更容易。
Upgrade Angular libraries first
在將 Spartacus 升級(jí)到 4.0 之前,您需要先將 Angular 升級(jí)到 12 版,并將 Angular 3rd 方依賴項(xiàng)(如@ng-bootstrap/ng-bootstrap 或 @ng-select/ng-select)升級(jí)到與 Angular 12 兼容的版本。
ng update @ng-bootstrap/ng-bootstrap@10 @ng-select/ng-select@7 @angular/core@12 @angular/cli@12
“發(fā)布”的庫(kù)是新的、官方的、經(jīng)過(guò)測(cè)試的 Spartacus 庫(kù),可供公眾使用(托管在 npmjs.com 上)
我們通常每 2 周發(fā)布一次新庫(kù)
次要更改意味著我們添加了新功能,但默認(rèn)情況下將它們配置為關(guān)閉,以免引起兼容性問(wèn)題。新的次要也意味著包含可能影響兼容性的更改或錯(cuò)誤修復(fù),但這些也由功能標(biāo)志 feature flags 控制。因此,所有重大更改都是“選擇加入 opt in”。有關(guān)更多信息,請(qǐng)參閱功能標(biāo)志文檔。
我們通常會(huì)在新的次要版本發(fā)布前幾周發(fā)布標(biāo)記為“下一個(gè)”的預(yù)發(fā)布庫(kù)。目標(biāo)是提供對(duì)新功能的早期訪問(wèn)并從社區(qū)獲得反饋。
如果您選擇不使用新功能,則升級(jí)到新的 Major.# 應(yīng)該沒(méi)有問(wèn)題,并將 features 標(biāo)志設(shè)置為以前的 Major.#。如果您確實(shí)發(fā)現(xiàn)問(wèn)題,請(qǐng)報(bào)告錯(cuò)誤,我們將對(duì)其進(jìn)行評(píng)估和修復(fù)。我們鼓勵(lì)您在開(kāi)發(fā)過(guò)程中經(jīng)常升級(jí)到最新的庫(kù),以利用錯(cuò)誤修復(fù)和新功能。
為了能夠使用 Spartacus 3.* 中的所有功能,需要 SAP Commerce Cloud 2005 版。例如,2005 版包含用于 B2B 商務(wù)組織的 OCC API。此外,需要或至少?gòu)?qiáng)烈推薦最新的補(bǔ)丁版本,因?yàn)樗ǔ0绊?Spartacus 的錯(cuò)誤修復(fù)(例如,ASM 需要 1905.5,而 Save for later 功能需要 1905.11)。 Spartacus 3.* 也經(jīng)過(guò)了 1905 版的測(cè)試和使用。但是請(qǐng)注意,如果您使用的是 SAP Commerce Cloud 1905,則依賴于 2005 年引入的新 API(例如取消和退貨)的 Spartacus 功能將不可用。了解更多有關(guān)特定功能需要哪個(gè)版本的 Spartacus 和哪個(gè)版本的 SAP Commerce Cloud 的信息,請(qǐng)參閱功能兼容性。
一個(gè)命令行升級(jí)到 4.0:
ng update @spartacus/schematics@4
更新完成運(yùn)行后,檢查您的代碼中是否有以 // TODO:Spartacus 開(kāi)頭的注釋。 有關(guān)每個(gè)添加評(píng)論的詳細(xì)信息,請(qǐng)參閱下面的詳細(xì)更改列表。
https://github.com/SAP/spartacus/blob/develop/docs/migration/4_0.md#detailed-list-of-changes
總結(jié)
以上是生活随笔為你收集整理的SAP Spartacus 4.0 的技术变化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 什么是 SAP Spartacus 里的
- 下一篇: Shell获取字符串长度的多种方法总结