Commerce Cloud 中的構建過程在專案儲存庫中查詢專案自定義 customization. 有兩種支援的自定義目錄結構。
Separate subdirectories for each customization
這是預設並且推薦的選擇。
每個自定義使用單獨的子目錄。如下圖所示:
在此配置中,構建器希望找到一個 core-customize 子目錄和幾個可選目錄。
- core-customize(必需)- 包含 SAP Commerce Cloud 和清單檔案的自定義。
- js-storefront(可選)- 包含 Javascript 店面自定義和清單檔案。
- datahub(可選)- 包含 Data Hub 自定義和清單檔案。
每個 Customization 必須包含一個 manifest.json 檔案。
Single directory for all customizations
這種做法已經 deprecated 了。使用單個根目錄是配置儲存庫的原始方式。 此配置仍受支援,但不推薦使用且已棄用。在這種結構裡,所有目錄都直接新增到根目錄中。不支援 JavaScript 店面。
Builder 在執行時怎麼知道客戶採取的哪一種 Customization 方式呢?
構建過程在根目錄中查詢 Commerce Cloud manifest.json 檔案。如果它找到清單檔案,則使用 deprecated 即所有 Customization 位於同一資料夾內的層級結構。 如果它沒有找到清單檔案,則說明每個 Customization 具有各自的子資料夾。
當您使用單獨的子目錄結構時,Javascript 應用程式路徑相對於 <root>/js-storefront
.
看個例子:
這裡的 Spartacusstore, 是 js-storefront 下面的一個子資料夾。
在 manifest.json 裡不要使用絕對路徑 /
開頭。
路徑被認為是 *nix 格式,因此使用斜槓分隔目錄。
如果之前從原始的單個目錄結構開始,您可以進行一些小的更改以遷移到推薦的單獨子目錄結構。
這些語法在 manifest.json 檔案中不被支援:
- 在目錄樹中向上('..')
- 解析當前目錄('.')
- 從機器根目錄('/')開始
- Shell 擴充套件,例如( '*' 或 '~' )
- 環境變數擴充套件,例如( '$HOME' 或 '${HOME}' )