不包括缩小一些js文件中com.day.cq.widget.impl.HtmlLibraryManagerImpl

不包括缩小一些js文件中com.day.cq.widget.impl.HtmlLibraryManagerImpl

问题描述:

我有配置\ com.day.cq.widget.impl.HtmlLibraryManagerImpl.xml不包括缩小一些js文件中com.day.cq.widget.impl.HtmlLibraryManagerImpl

一个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" 
    /> 

但是,我想要一些文件不被缩小。我怎样才能做到这一点 ?

+0

你的用例是什么?你为什么不希望他们缩小?无论如何,我只能想到用一个单独的脚本标记直接引用特定文件,而不是使用库管理器 – Thomas

+0

在执行过程中要压缩的文件需要缩小。但是,由此导致了问题。 – Ajay

+0

然后我宁愿检查这个文件,因为它可能会错过一些;在一行或其他小东西的末尾,标识出写得不太好的js文件 – Thomas

由于AEM 6.1的com.day.cq.widget.HtmlLibraryManager接口及其实现(com.day.cq.widget.impl.HtmlLibraryManagerImpl)已被弃用。

相反,你应该看看新的HtmlLibraryManager接口。 com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl实现具有有趣的OSGi属性“htmllibmanager.excluded.path.list”,这可能正是您所需要的。

+0

htmllibmanager.excluded.path.list将排除路径,如何排除文件? – Ajay

+0

我可以在AEM6 SP2中使用此功能吗? – Ajay

我曾读过 Sham HC

给据他解决在Adobe论坛这个问题,OOB不可能&你可能需要实现自己的HTMLLibraryManager。提供文件日托请求功能包。

如果你看了下面的链接,你可以利用选择器和调度员或linkrewriter删除.min你的请求。

New in AEM

使用手册包括能够选择是否精缩与否。在你的clientLibs中没有什么可以改变的。使用“htmllibmanager.excluded.path.list”不适用于我,我可以在文档中阅读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> 

所以如果你不想缩小你的文件将以“.js”结尾,如果你想缩小你的文件将以“.min.js”结尾。真是太容易了。