是否可以使用React组件编写AEM经验片段,然后提供无头前端



简要描述我的目标——

  1. 我有一个由大约70个React组件组成的外部React组件库,它为web前端(Websphere Commerce网站,它通过AJAX调用获取体验片段HTML(提供信息,还有一个React Native应用程序。因此,对于网络来说,AEM基本上是为我们的无头前端提供服务的内容引擎
  2. 我想使用这些相同的React组件来提供AEM Experience Fragment创作体验,而不是必须将每个React组件重建为AEM中的HTL模板——维护一个完全独立的HTL模版组件库会带来太多开销
  3. 通过遵循这里的Adobe官方教程,我了解了如何将React组件映射到内容片段创作体验。我的意思是,如果我去AEM Home>网站>(我的网站(>创建一个新的片段,我拖动的组件由React模板提供。我能说出来,因为标记匹配的是我在ui.frontend中的BasicComponent.jsReact模板中的内容,而不是ui.apps中的basic-component.html模板
  4. 但是,如果我去AEM Home>经验碎片>创建一个新片段,相同的BasicComponent组件将从组件文件夹(.content.xml旁边(中的basic-component.html文件中提取,而不是从BasicComponent.js中提取

我是AEM的新手,所以希望以上内容有意义。我知道我错过了一些非常基本的东西:经验碎片与内容碎片的区别(如果这是正确的术语的话(。我花了很多时间在谷歌上搜索信息,但我发现我自己的无知让我很难确定我所读的内容是否是解决问题的线索。

这是我用来试验的回购:https://github.com/drginm/aem-react-simple-example

非常感谢您的帮助!我相信我不是唯一一个寻找一个平易近人的模型来处理这种情况的AEM新手。

Experience Fragments不建议在无头架构中与ajax html一起使用,它应该通过json格式的sling模型导出器公开,以供反应消耗。

要编辑和修改经验片段,AEM不提供任何API,AEM开发人员应该提供自定义的RESTAPI来进行更改。

我建议使用内容片段,其中CRUD操作可以通过AEM中的AssetsApi进行。

参考

  1. 经验片段和内容片段之间的差异
  2. 内容片段的资产API

相关内容

最新更新