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}' )
网友评论