2013-05-14 70 views
4

我想弄清楚如何實現所有我的js文件的壓縮和縮小。目前我有他們在/html/js/mycustomjs/文件夾下的一個掛鉤插件。Liferay連接並壓縮javascript

據我所知,Liferay的有其自身的機制來壓縮JavaScript的,在barebone.jsp或everything.jsp,發現在portal.propertiesjavascript.barebone.filesjavascript.everything.files性聲明的文件列表。

問題是,我可以使用這種機制來壓縮我自己的js文件嗎?我應該在portal-ext.properties中覆蓋這些屬性嗎?或者我應該自己使用MinifierFilter

此外,是一個掛鉤插件正確的地方放置js文件,我想在所有的門戶網站上可用?

回答

3

portal-ext.properties重寫javascript.bundle.dependencies=javascript.bundle.ids=屬性,請參閱http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/javascri-3

事情是這樣的:

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 

此外,我不認爲鉤插件是這種需求的正確的地方。我認爲更好的方法是把javascript的核心放在主題上。

+0

我最終選擇了這個解決方案,並通過將這個jsp添加到liferay-web.xml中minifier過濾器的url正則表達式中來創建我自己的jsp,以包含所有javascripts。至於主題中的javascript位置,這不適用於多個網站,所以我最後把它們放在鉤子裏。感謝您的反饋 – madoke 2013-05-15 12:26:51

+0

@Mark如何包含主題中包含的javascript文件?我可以看到它是如何與一個鉤子一起工作的,因爲它將在JavaScript中包含它在ROOT/html/js中,但是如果這些文件位於「javascript.my.files」中,那麼javascript文件的路徑需要看起來如何主題? – clav 2014-06-05 21:46:54