Liferay concatenate and compress javascript

2020-07-17 16:45发布

问题:

I am trying to figure out how to achieve compression and minification for all my js files. Currently i have them in a hook plugin under /html/js/mycustomjs/ folder.

I understand that liferay has its own mechanism to compress javascripts, in barebone.jsp or everything.jsp, and found the list of files declared in the javascript.barebone.files and javascript.everything.files properties on portal.properties.

The question is, can i use this mechanism to compress js files of my own ? should i override such properties in the portal-ext.properties ? Or should i just use the MinifierFilter by myself ?

Moreover, is a hook plugin the right place to put js files that i want available on all of the portal's sites?

回答1:

Override the javascript.bundle.dependencies= and javascript.bundle.ids= properties in portal-ext.properties, see http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/javascri-3

Something like this:

javascript.my.files =\  
   jquery-1.8.3.js,\
   my-script.js

javascript.bundle.ids=\
   javascript.barebone.files,\
   javascript.everything.files,\
   javascript.my.files  


javascript.bundle.dependencies[javascript.barebone.files]=javascript.my.files

Furthermore, I don't think that the hook plugin is a right place for such requirements. My opinion the better way is to put the javascripts central to the theme.