[英]Compressing multiple JavaScript files into separate files
我知道有關javascript壓縮的問題已被問過多次,但找不到任何答案。
我有一個包含通用腳本(jQuery和其他一些腳本)和特定於頁面的腳本的項目。 jQuery Mobile允許您通過一次下載<head>
所有內容來緩存會話中的常用腳本。 只要將<script>
放在<div data-role="page">
,只要加載頁面,就會拉特定的<script>
。
我發現這很棒,因為它可以優化瀏覽我的應用程序頁面時下載的腳本,並確保瀏覽器隨時具有最少的JavaScript。
但是,由於無法合並的各個文件之間存在依賴關系,因此縮小變得非常糟糕。
到目前為止,我發現了兩種不太適合我的解決方案:
<head>
:您將失去只能下載所需腳本的能力,並且瀏覽器已加載了不必要的功能 (我顯然不包括手動更改功能名稱;)
我正在尋找一種可以做以下事情之一的壓縮機:
是否存在?
熟悉了所有這些內容之后,Google Closure Compiler可以做到這一點(還有更多)。
方法是為以下項定義外部元素:
顯然,如果壓縮單獨加載的自制腳本,則應使用以下技術( 在Closure Compiler文檔中詳細介紹 )將要使用的變量導出到其他位置:
/**
* A function you want to be able to call from elsewhere after compressing
* @param {string} a
*/
function exportedFunction(a) {alert(a);}
window['exportedFunction'] = exportedFunction;
然后,您可以批量或分別壓縮所需的文件。 它是如此強大,我無法相信我以前從未使用過它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.