从com.day.cq.widget.impl.HtmlLibraryManagerImpl中的minification中排除一些js文件

时间:2016-06-08 13:20:34

标签: content-management-system cq5 aem

我有config \ com.day.cq.widget.impl.HtmlLibraryManagerImpl.xml的osgi配置设置

如下:

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
    jcr:primaryType="sling:OsgiConfig"
    htmllibmanager.minify="{Boolean}true"
    htmllibmanager.debug="{Boolean}false"
    htmllibmanager.gzip="{Boolean}false"
    htmllibmanager.timing="{Boolean}false"
    />

但是,我希望一些文件不会被缩小。我怎么能这样做?

3 个答案:

答案 0 :(得分:0)

自AEM 6.1以来,{@ 3}}接口及其实现(com.day.cq.widget.impl.HtmlLibraryManagerImpl)已被弃用。

相反,您应该查看新的com.day.cq.widget.HtmlLibraryManager界面。 com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl实现具有有趣的OSGi属性“ htmllibmanager.excluded.path.list ”,可能就是您所需要的。

答案 1 :(得分:0)

我在adobe论坛上已经阅读过这个问题的解决方案 Sham HC

据他说,OOB不可能&amp;您可能需要实现自己的HTMLLibraryManager。文件日托请求功能包。

如果你已经查看了以下链接,你可以利用选择器和调度员或linkrewriter删除.min来满足你的要求。

New in AEM

答案 2 :(得分:0)

使用手动包含可以选择是否缩小。您的clientLibs无需更改。使用&#34; htmllibmanager.excluded.path.list&#34;对我不起作用,我可以阅读cq:ClientLibraryFolder无法排除的文档,因为它几乎没有指明是clientLib。

制作这样的东西(css):

<sly data-sly-use.clientLib="/libs/granite/sightly/templates/clientlib.html" data-sly-call="${clientLib.css @ categories='yourClientLib}" data-sly-unwrap/>

使用:

<link rel="stylesheet" type="text/css" href="/etc/designs/yourClientLib.css"/>

并制作此(js):

<sly data-sly-use.clientLib="/libs/granite/sightly/templates/clientlib.html" data-sly-call="${clientLib.js @ categories='yourClientLib'}" data-sly-unwrap/>

使用:

<script src="/etc/designs/yourClientLib.js"></script>

因此,如果您不想要缩小,您的文件将以&#34; .js&#34; 结束,如果您想要缩小,您的文件将会结束用&#34; .min.js&#34;。真的很容易。

相关问题