27 lipca 2010, 16:52 dario Komentarze (0)

Mini Static Content Delivery - optymalizacja JavaScript na stronie ASP.NET

Dziś "Mini Static Content Delivery" został wzbogacony o małą, ale jakże fajną rzecz jaką jest optymalizacja kodu JavaScript, który od czasu do czasu pojawia się bezpośrednio na stronie, a nie w zewnętrznym pliku js. Podyktowane jest to czasami względami technicznymi. Kod jest generowany po stronie serwera, zawiera wstawki wygenerowane po stronie serwera lub... z lenistwa/potrzeby szybkiego uzupełnienia funkcjonalności. :) Dlatego też pokusiłem się o dodanie dwóch kontrolek, które mogą pracować na standardowej stronie ASP.NET jak i widoku MVC.   MinifiedContainer i MinifiedContentPlaceHolder Aby użyć którąś z nich należy dodać referencję do biblioteczki Softio.Mscd.Client oraz zarejestrować własny prefix, najlepiej w pliku web.config. W sekcji pages dodajemy poniższy wpis.

<controls>
    <add tagPrefix="mvc" assembly="Softio.Mscd.Client" namespace="Softio.Mscd.Client"/>
</controls>

Przykład użycia

<mvc:MinifiedContentPlaceHolder ID="ScriptContent" runat="server"/>

Pierwszy przykład to standardowe użycie ContentPlaceHolder'a w MasterPage. Każdy Content używający tego PlaceHoldera będzie optymalizowany.

<mvc:MinifiedContainer runat="server">
  <script type="text/javascript">
         $(document).ready(function() {
         $("#menu .topnav").jQDropDownMenu();
     });
  </script>
</mvc:MinifiedContainer>

Drugi przykład to użycie kontrolki MinifiedContainer. Kod znajdujący się "wewnątrz kontrolki zostanie zoptymalizowany, aby zajmował jak najmniej. Tak zoptymalizowany kod to mniejsza ilość bajtów do przesłania z serwera do przeglądarki. Optymalizacja działa wyłącznie wtedy, gdy aplikacja nie jest w trybie debug. (Uwaga! Obecnie optymalizowany jest tylko JavaScript, więc użycie wewnątrz innego kodu niż JS może przynieść nieoczekiwane skutki. Niebawem mam zamiar dodać optymalizację kodu CSS oraz samego HTML'a) Najnowszy Mscd do pobrania ze strony mscd.codeplex.com.

Tagi:

Projekty

Komentarze zablokowane

O autorze

Dariusz Gil - projektant i programista aplikacji internetowych budowanych na platformie Microsoft w technologii ASP.NET (C#) oraz MS SQL Server. Obecnie właściciel (narazie :)) jednoosobowej firmy Softio.

Filtruj używając APML