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}' )