【问题标题】:AEM client lib switch between JS/CSS versionAEM 客户端库在 JS/CSS 版本之间切换
【发布时间】:2018-07-09 11:37:29
【问题描述】:

我的问题是,有没有人遇到过类似的情况,例如在 aem60 和 aem63 之间切换 JS lib。 我的意思是,例如:在 AEM6.0 实例中,我的组件将使用 Parsleyjs 版本 2.2.0,现在因为我们正在慢慢将每个实例升级到 AEM6.3,并且我们为所有实例使用一个单一的代码库 repo,所以我们需要在 AEM6.3 实例运行时能够自动切换到 Parsleyjs 版本 2.8.1

我目前的想法是,在 etc/clientlib/myproject/liberies 下,我有两个不同类别的 parsleyjs 版本。请看截图:

所以 parsleyjs 2-2 和 2-8。

然后在我的 etc/clientlib/myproject/components/search-box 中,这里放置了这个组件的 JS CSS 代码,我希望做一些类似下面的截图来为不同的 AEM 版本平台切换 parsleyjs 版本。

有什么建议或更好的方法吗? 请提供带有代码或屏幕截图的示例答案 感谢您的帮助。

【问题讨论】:

  • 只是好奇,为什么不迁移到 AEM6.4
  • 在不同环境下使用不同设置的运行模式。

标签: aem sling jcr crx


【解决方案1】:

AEM clientlibs 无法执行此 OOTB。

免责声明:我将要描述的解决方案会使您的构建变得不必要地复杂化。您最好手动进行更改并部署,因为这是暂时的。此外,这不是一个完整的修复。这是一种您可以遵循的方法来获得您想要的结果。

找到一个可以在构建时间执行string replacement的maven插件。

基本上你的clientlib xml 中有一个表达式,类似于:

.
. 
dependencies="${parsleyClientlib}"
.
.

然后你会向你的 maven 构建传递一个标志,例如 -Paem.version=6.3,并且基于该标志,maven 插件会将${parsleyClientlib} 替换为预期的依赖项名称。

可以尝试的插件:

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2023-03-25
    • 2015-09-18
    • 1970-01-01
    相关资源
    最近更新 更多