Kurczymy skrypty javascript – Microsoft Ajax Minifier
lis 30, 2009 ASP.NET AJAX
Jakiś czas temu Microsoft wydał bardzo przydatne narzędzie umożliwiające kompresję tworzonych skryptów JavaScript – MS Ajax Minifier.
Oczywiście nie jest to pierwsze/jedyne tego typu narzędzie – ale dużym plusem Ajax Minifiera jest możliwość “podpięcia” go do projektu jako task MSBuilda.
Narzędzie pobieramy ze strony http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35893
Po zainstalowaniu nowy task MSBuilda wyląduje w katalogu:
C:\Program Files\MSBuild\Microsoft\MicrosoftAjax lub C:\Program Files (x86)\MSBuild\Microsoft\MicrosoftAjax, jeżeli korzystamy z systemu 64-bitowego.
Aby dodać nowego taska do projektu edytujemy plik naszego projektu (csproj) – możemy to oczywiście zrobić w dowolnym edytorze, np. Notepad2.
I dodajemy kilka nowych linijek:

1. Dodajemy referencje do taska MSBuild (MSBuildExtensionsPath wskazuje na C:\Program Files\MSBuild\Microsoft\MicrosoftAjax)
2. W sekcji Include podajemy, które pliki chcemy zminimalizować (w pokazanym przypadku wszystkie pliki js); w sekcji Exclude, które chcemy opuścić – czyli pliki min.js (te, które już są zminimalizowane) oraz wszystkie pliki js z katalogu extLib – tutaj przykładowo przechowujemy różne biblioteki.
3. Podajemy, w jaki sposób zostanie wygenerowana nazwa nowego (zminimalizowanego) pliku – tutaj pliki z rozszerzeniem .js zostaną zamienione na .min.js.
Teraz wystarczy już tylko odpalić projekt i go przebildować, a w naszym projekcie pojawią nowe pliki:

W wyniku minimalizacji z oryginalnego pliku zostaną usunięte wszystkie zbędne “białe znaki” oraz komentarze. Oczywiście plik oryginalny nie zostanie w żaden sposób zmieniony.
Przykładowy plik przed minimalizacją

i po:

Przydatności MS Ajax Minifiera (w połączeniu z łatwością jego użycia) nikomu chyba tłumaczyć nie trzeba. Minimalizując pliki aplikacji webowej zwiększamy szybkość ich “ładowania”, dzięki czemu nasza aplikacja działa szybciej – i to wszystko automatycznie.
MS Ajax Minifiera można również uruchamiać z linii poleceń – jednak jako osoba ceniąca wygodę preferuję opisane rozwiązanie.
Miłej zabawy :)
Tags: ajax, ajax minifier, JavaScript

Luty 10th, 2010 at 11:50
[...] (shrink) JavaScript files using Microsoft Ajax Minifier (based on Łukasz Gąsior blog): <Target Name="AfterBuild"> <ItemGroup> <!– Create the list of JS files to [...]