Liferay:如何缩小jsp中包含的CSS和JS文件

时间:2016-05-20 10:21:22

标签: javascript css liferay liferay-6.2

我在我的Liferay portlet中使用了多个css和js文件。 liferay-portlet.xml文件中包含的CSS和JS文件将自动包含在页面中。

除了XML文件中提到的文件外,我使用外部CSS和使用链接和脚本标记的JS文件。

如何缩小这些文件?

OR

<portlet>
    <portlet-name>demo-page</portlet-name>
    <icon>/icon.png</icon>
    <header-portlet-css>/css/main.css</header-portlet-css>
    <header-portlet-css>/css/style.css</header-portlet-css>
    <footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
</portlet>

我想在page1.jsp中使用main.css,但不在page2.jsp中使用。 我可以为liferay-portlet.xml中包含的文件定义页面范围吗?

3 个答案:

答案 0 :(得分:0)

您只需使用css:< link rel="stylesheet" href="<%=request.getContextPath()%>/my_sources/css/style.css"/>这样的文件,而liferay负责缩小(除非您在portal-ext.properties中禁用了它)。

答案 1 :(得分:0)

在您的portal-ext中:

# Set this property to true to load the theme's merged CSS files for faster
# loading for production.
#
# Set this property to false for easier debugging for development. You can
# also disable fast loading by setting the URL parameter "css_fast_load" to
# "0".
#
theme.css.fast.load=true


# Set this property to true to load the packed version of files listed in
# the properties "javascript.barebone.files" or
# "javascript.everything.files".
#
# Set this property to false for easier debugging for development. You can
# also disable fast loading by setting the URL parameter "js_fast_load" to
# "0".
#
javascript.fast.load=true

答案 2 :(得分:0)

Liferay只是将主题和portlet中包含的资源添加到liferay-portlet.xml中。如果你想对所有css和js文件执行此操作,你应该为Liferay Servlet过滤器实现一个钩子,并且在过滤器内部你可以根据需要获取任何资源。过滤器在对外部资源的所有请求中执行。

enter image description here