为AEM as a Cloud Service开发AEM Commerce develop
根据适用于AEM的Commerce integration framework(CIF)来开发AEM as a Cloud Service Commerce项目,遵循与AEM as a Cloud Service上的其他AEM项目相同的规则和最佳实践。 请先查看以下内容:
使用AEM as a Cloud Service SDK进行本地开发 local
建议使用本地开发环境来处理CIF项目。 为AEM as a Cloud Service提供的CIF加载项也可用于本地开发。 可从软件分发门户下载。
CIF加载项作为Sling功能存档提供。 软件分发门户上可用的zip文件包括两个Sling功能存档文件,一个用于AEM创作,一个用于AEM发布实例。
是AEM as a Cloud Service的新用户? 查看有关使用AEM as a Cloud Service SDK设置本地开发环境的更详细指南。
所需的软件
下列内容应本地安装:
- AEM as a Cloud Service SDK
- Java™ 11
- Apache Maven (3.3.9或更高版本)
- Node.js v10+
- npm 6+
- Git
访问CIF加载项
可以从软件分发门户以zip文件的形式下载CIF加载项。 zip文件包含CIF加载项作为 Sling功能存档,它不是AEM包。 可以通过AEM as a Cloud Service许可证访问SDK列表。
本地设置
对于使用AEM as a Cloud Service SDK进行本地CIF加载项开发,请执行以下步骤:
-
获取最新的AEM as a Cloud Service SDK
-
解压缩AEM .jar以便创建
crx-quickstart
文件夹,运行:code language-bash java -jar <jar name> -unpack
-
创建
crx-quickstart/install
文件夹 -
将CIF加载项的正确Sling功能存档文件复制到
crx-quickstart/install
文件夹中。CIF加载项zip文件包含两个Sling功能存档
.far
文件。 请确保为AEM Author或AEM Publish使用正确的库,具体取决于您计划如何运行本地AEM as a Cloud Service SDK。 -
创建一个名为
COMMERCE_ENDPOINT
的本地OS环境变量,该变量包含Adobe Commerce GraphQL端点。macOS X示例:
code language-bash export COMMERCE_ENDPOINT=https://<yourcommercesystem>/graphql
示例窗口:
code language-bash set COMMERCE_ENDPOINT=https://<yourcommercesystem>/graphql
AEM使用此变量连接到您的商务系统。 此外,CIF加载项包括一个本地反向代理,以使Commerce GraphQL端点可在本地使用。 此代理由CIF创作工具(产品控制台和选取器)和用于执行直接GraphQL调用的CIF客户端组件使用。
此外,还必须为AEM as a Cloud Service环境设置此变量。 有关变量的详细信息,请参阅为AEM as a Cloud Service配置OSGi。
-
(可选)要启用暂存目录功能,必须为Adobe Commerce实例创建集成令牌。 按照快速入门中的步骤创建令牌。
将名为
COMMERCE_AUTH_HEADER
的OSGi密钥设置为以下值:code language-xml Authorization: Bearer <Access Token>
有关密钥的详细信息,请参阅为AEM as a Cloud Service配置OSGi。
-
启动AEM as a Cloud Service SDK
通过OSGI控制台验证设置: http://localhost:4502/system/console/osgi-installer
。 该列表应包含与功能模型文件中定义的CIF附加组件相关包、内容包和OSGI配置。
项目设置 project
可通过两种方式Bootstrap您的CIF项目以用于AEM as a Cloud Service。
使用AEM项目原型
AEM项目原型是Bootstrap预配置项目以开始使用CIF的主要工具。 CIF核心组件和所有必需的配置都可以在生成的项目中包含一个额外选项。
有关如何生成AEM项目,请参阅AEM项目原型使用说明。 要将CIF包含在项目中,请使用includeCommerce
选项。
例如:
mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate \
-D archetypeGroupId=com.adobe.aem \
-D archetypeArtifactId=aem-project-archetype \
-D archetypeVersion=35 \
-D appTitle="My Site" \
-D appId="mysite" \
-D groupId="com.mysite" \
-D includeCommerce=y
通过包含提供的all
包或单独使用CIF内容包和相关OSGI包,可以在任何项目中使用CIF核心组件。 要手动将CIF核心组件添加到项目,请使用以下依赖项:
<dependency>
<groupId>com.adobe.commerce.cif</groupId>
<artifactId>core-cif-components-apps</artifactId>
<type>zip</type>
<version>x.y.z</version>
</dependency>
<dependency>
<groupId>com.adobe.commerce.cif</groupId>
<artifactId>core-cif-components-config</artifactId>
<type>zip</type>
<version>x.y.z</version>
</dependency>
<dependency>
<groupId>com.adobe.commerce.cif</groupId>
<artifactId>core-cif-components-core</artifactId>
<version>x.y.z</version>
</dependency>
<dependency>
<groupId>com.adobe.commerce.cif</groupId>
<artifactId>graphql-client</artifactId>
<version>x.y.z</version>
</dependency>
<dependency>
<groupId>com.adobe.commerce.cif</groupId>
<artifactId>magento-graphql</artifactId>
<version>x.y.z</version>
</dependency>
使用AEM Venia Reference Store
启动CIF项目的第二个选项是克隆并使用AEM Venia引用存储。 AEM Venia Reference Store是一个示例参考店面应用程序,用于演示如何将CIF核心组件用于AEM。 它旨在作为一组最佳实践示例以及开发您自己的功能的潜在起点。
要开始使用Venia引用存储,请克隆Git存储库并开始根据您的需求自定义项目。