Vím, že existují způsoby, jak dynamicky načíst na stránk , ale pokud chci komprimovat svůj kód tak, aby se načítal ještě rychleji, jak to mám udělat?
Velmi doporučuji Google Closure Compiler pro kompresi kódu JavaScript. Používám jej osobně a je to také oficiální kompresor používaný v projektu jQuery.
Tento projekt dokáže hodně, ale základy jsou následující:
Java -jar closure.jar -js javascriptFile.js > javascriptFile.min.js
Použijte gzip .
Používám projekt SquishIt Justin Etheredge. Je to úžasné! Pouze pro asp.net.
Přečtěte si úvod do squishit blog .
Zde je ukázkový kód, který vykreslí jednu značku <script>
a jednu značku <link>
. Oba budou ukazovat na kombinovaný a minifikovaný soubor JS/CSS.
<%= Bundle.JavaScript()
.Add("~/js/jquery-1.4.2.js")
.Add("~/js/jquery-ui-1.8.1.js")
.Render("~/js/combined_#.js")
%>
<%= Bundle.Css()
.Add("~/css/reset.css")
.Add("~/css/text.css")
.Add("~/css/960.css")
.Render("~/css/combined_#.css")
%>
Existuje několik velmi populárních nástrojů pro kompresi/minifikaci vašeho JavaScriptu a CSS.
Všechny jsou velmi silné - jejich srovnání najdete poměrně snadno. Všechny jsou nástroji příkazového řádku, takže je lze snadno snadno integrovat do vašeho běhu při vytváření nebo publikování vašich webových stránek.
Najdete také mnoho webů, které tyto nástroje provozují za vás, což vám ušetří čas při instalaci/konfiguraci. To také pomáhá, pokud nejste obeznámeni s použitím nástrojů příkazového řádku.
Osobně jsem vždy používal YUI Compressor .
V tomto srovnání minibusů JS a CSS si vyberte, co vám nejlépe vyhovuje -
Tento používá kompresní algoritmus YUI:
Přidejte veškerý javascript do jediného souboru a zkomprimujte jej například jsmin (http://www.crockford.com/javascript/jsmin.html). Udělejte to také pro svůj CSS, ale použijte jinou kompresní techniku (odstranění mezer). Protože se jedná o nudný opakující se úkol, jsou k dispozici skripty, které vám to udělají. K plné automatizaci tohoto procesu používám Django a využívám aktiva Django.
Pokud chcete komprimovat velikost souborů Javascript, můžete použít packer .