27 lipca 2010, 16:52
dario
Komentarze (0)
projekty
mscd
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.