開源項目 Spartacus 的語義化版本(Semantic Version)迭代機制講解
客戶基于Spartacus庫文件進行Storefront二次開發,并不會直接修改Spartacus發布的源代碼。客戶的二次開發代碼,和Spartacus庫文件是一種松耦合的依賴關系??蛻羯塖partacus版本,在絕大多數情況下都不會影響到已有的二次開發代碼。那么所謂的“絕大多數情況下”,具體是指什么呢?這就要從Spartacus的版本管理機制說起。
同絕大多數流行的開源框架和庫一樣,Spartacus的版本管理也采取了所謂語義化版本的機制,版本號由主版本號,次版本號和修訂版本號三部分組成,中間由小數點分隔開。
主版本號的升高,用于引入無法向后兼容的變更或顛覆性的更新。無法向后兼容的變更,是指Spartacus升級之后,之前基于低版本編寫的二次開發代碼,需要人工調整后才能繼續工作。而顛覆性的更新,一個例子就是Spartacus升級到3.0版本之后,首次支持B2B的電商功能。
次版本號的增加:用于引入新功能,并且版本更新之后,已有的二次開發代碼不需任何調整仍然能夠繼續正常工作。源代碼重構,性能優化等不屬于bug修復的修改,也通過次版本號的增加而引入。
修訂版本號:主要用于發布bug的修復。
Spartacus的修訂版本發布,以周為單位,確保使用過程中發現的bug能盡早得到解決。次版本的發布以月為單位,這種更新的頻率有助于客戶快速地進行持續改進和持續創新。
而主版本的更新,可以參考SAP官方路線圖網站上的聲明。
從上面這張截圖中package.json里定義的依賴,我們能夠發現之前講到的core, storefront和styles 3個庫,再加上主要包含了文檔和翻譯的assets庫。
其中版本號2.1.0之前的這個符號^,有個術語叫做hat, 這是語義化版本管理機制里的范圍標識符之一,表示這個Storefront二次開發工程支持主版本號為2,且次版本號大于1的所有Spartacus版本,但是不支持主版本號為3的Spartacus. 換句話說,圖中這個二次開發項目,只支持SAP Commerce B2C的功能,因為B2B的功能是Spartacus 3.0版本里才引入的。
API TypeScript web前端 自建電商
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。