2011-01-10 14 views
5

Buona giornata!Combina, riduci a icona e gzip per i file CSS e JavaScript per ASP.NET MVC

Sto cercando una soluzione per combinare, ridurre a icona e gzip file CSS e JavaScript. Sembra che sono disponibili in due forme:

  • In forma di handler \ modulo ASP.NET con file di elaborazione al volo (con risultati caching)
  • In forma di VS costruire compiti (per eseguire l'elaborazione, mentre la costruzione)

In genere sto bene con entrambi.

Ho esaminato un numero di soluzioni (e utilizzo il gestore ASP.NET da questo articolo http://www.codeproject.com/KB/aspnet/httpcompression.aspx molto), ma forse è venuto fuori qualcosa "deve avere" e l'ho perso.

Grazie in anticipo!

risposta

6

Ecco il mio consiglio: utilizzare le attività di compilazione e la cache HTTP l'output.

In termini di attività di compilazione, ti consigliamo di controllare il vostro preferito minifier JavaScript (il mio preferito è Google Closure Minifier) che ha un'utility a riga di comando che è possibile basta inserirla in file di progetto, un file o un file MSBUILD NANT. Lo stesso trattamento con i CSS (io personalmente uso Yahoo! YUI Compressor). Se usi LESS, puoi certamente combinarlo con il compressore YUI. Per ottimizzare le immagini, userei optipng. Ci sono indicazioni su come questi ragazzi lavorano sui loro singoli siti.

Ora, dopo aver tutti questi file piacevoli e ottimizzati, è necessario stamparli utilizzando un'azione gestore o controller per MVC. Per impostare la scadenza in modo che le richieste successive saranno per default il file scaricato alla prima richiesta, ti consigliamo di eseguire questo nel codice:

Response.ExpiresAbsolute = DateTime.Now.AddYears(1); 

Più che probabile che si vorrà una strategia di cache-buster così che puoi modificare i file di contenuto. Lo faresti passando un parametro casuale al tuo gestore. Ci sono diversi modi per andare su questo ... solo su Google.

Spero che questo aiuti.

+0

Grazie per la risposta, ho giocato molto con l'assemblaggio di tali pipeline a mano per l'elaborazione di CSS e JS (sia per ASP.NET che per PHP), hai visto pacchetti/componenti? – artvolk

+0

@artvolk Cosa intendi per "pacchetti/componenti"? – zowens

+0

Intendo qualcosa (libreria? Dll? Attività msbuild?) Che avvolge tutto questo in un modo carino in VS. – artvolk

2

Utilizzo lo telerik mvc components per siti di dimensioni medio-piccole. È stato semplice aggiungere e configurare con NuGet.

+0

Grazie per la risposta, intendi questa parte di questo pacchetto? http://www.telerik.com/products/aspnet-mvc/web-asset-managers.aspx#combination – artvolk

+0

Sì. Il gestore di risorse Web è ciò che gestisce tutto ciò. Sto usando la versione open source di esso. –

2

Moth può (tra le altre cose) gestire tutte le richieste javascript/css al volo. Vedi Wiki: Javascript.

Meglio ancora, può anche mettere tutto il javascript in fondo alla pagina, incluse le parti che scrivi nelle viste parziali! Wiki: Inline script.

Problemi correlati