我的问题是,有没有人遇到过这样的事情,比如在aem60和aem63之间切换JS库。我的意思是,例如:在AEM6.0实例中,我的组件将使用Parsleyjs版本2.2.0,现在因为我们正在缓慢地将每个实例升级到AEM6.3,并且我们对所有实例使用一个单一的代码库,所以我们需要当AEM6.3实例运行时,组件将具有自动切换到Parsleyjs2.8.1版本的能力
我目前的想法是,在etc/clientlib/myproject/liberies下,我有两个不同类别的parsleyjs版本。请看截图:

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

有什么建议或更好的方法吗?请提供带有代码或截图的示例答案,谢谢帮助。
发布于 2018-07-09 23:38:34
AEM
clientlibs无法做到这一点。
免责声明:我将要描述的解决方案将不必要地使您的构建复杂化。您最好手动进行更改并进行部署,因为这是暂时的。此外,这并不是一个完整的修复。这是一种你可以遵循的方法来获得你想要的结果。
找到一个可以在构建时执行string replacement的maven插件。
实际上,您的clientlib xml中有一个表达式,如下所示:
.
.
dependencies="${parsleyClientlib}"
.
.然后,将一个标志传递给像-Paem.version=6.3这样的maven构建,并且基于该标志,maven插件将用预期的依赖项名称替换${parsleyClientlib}。
可以尝试的插件:
希望这能有所帮助。
https://stackoverflow.com/questions/51244670
复制相似问题