Štítek Build ×

Android Apache Ant Chrome CSS Data Databáze Desocializace Download ESRI Facebook Flash GIS Google Google Maps GPS Hardware HTML Internet iOS iPhone Jak na to Javascript jQuery JS mac mapa Maps Mapy Mashup Mobile MySQL Nezařazeno PHP Programování Silverlight Software Studentská tvorba Test Video Všechno možné Webdesign Weblbinky Windows Wordpress Zajímavosti

6. 8. 2011

Minifikace CSS a JS pomocí YUI compress a Apache ANT – vylepšená verze s makrem

Před časem jsem zde psal o Apache ANT a Yui Compressoru. Přišel jsem na rychlejší a elegantnější způsob, jak minifikovat javascript a CSS soubory. Vše je možné zařídit prostřednictvím Ant makra:

<!-- Minifi css/js with YUI compressor -->
 <macrodef name="Minify" description="Minifi css/js with YUI compressor">
  <attribute name="file" />
  <attribute name="args" default="--charset utf-8 -o '@{file}'"/>
  <sequential>
    <java jar="omPress/tools/yuicompressor.jar" fork="true" failonerror="true" maxmemory="128m">
      <arg line="'@{file}' @{args}" />
    </java>
  </sequential>
</macrodef>

Předdefinované makro, stačí vložit do vašeho Apache Ant projektu a zavolat v libovolném targetu. Jako vstupní parametr vyžaduje makro pouze jméno souboru.

<target name="js.build">
 <Minify file="js/main.js" />
</target>

Pokud makro zavoláte bez nepovinného parametru args, dojde k přepsání originálního souboru minifikovanou verzí (viz hodnota default). Tohle chování je možné samozřejmě snadno změnit:

<target name="js.build">
 <Minify
   file="js/main.js"
   args="--charset utf-8 -o 'js/main.min.js'"
 />
</target>

YUI Compressor zvládne minifikovat také CSS soubory – stačí zavolat:

<target name="css.build">
 <Minify file="css/main.css" />
</target>
#ant, #apache, #build