6

Comprendo e apprezzo pienamente il nuovo bundle jcard {version} regex, in quanto continuerà a raccogliere il copione e le librerie di stili anche dopo l'aggiornamento, ecc. Il problema è che non riesco a farlo funzionare in modo efficace.MVC4 Caratteri jolly di raggruppamento - * vs. {versione}

ho fatto uso in precedenza la seguente notazione per raccogliere i miei script jQuery:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
      "~/Scripts/jquery-1.*")); 

e sarebbe raccogliere tutti i file corrispondenti al carattere jolly asterisco.

Ma quando ho provato quanto segue:

 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

ho notato che il file jQuery non è stato scritto fuori alla pagina _Layout.cshtml.

NOTA - Sto infatti utilizzando il seguente codice HTML per entrambi gli esempi:

@Scripts.Render("~/bundles/jquery") 

Quando uso il primo esempio di cui sopra ("*") la notazione seguente è scritto alla pagina:

<script src="/Scripts/jquery-1.7.2.js" type="text/javascript"></script> 

Tuttavia, quando uso la notazione "{versione}", c'è semplicemente uno spazio vuoto in cui scrivere la libreria. Questo riguarda sia i file jquery che i fogli di stile CSS associati.

Non importa se sto compilando per la modalità DEBUG o RELEASE. I risultati sono gli stessi. Ovviamente nella modalità di rilascio Prendo la versione ottimizzata quando si utilizza il "*" notazione:

<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script> 

Quindi, essendo il perfezionista che tutti gli sviluppatori sono, mi piacerebbe molto vedere il lavoro {version} notazione per me, come mi tengo aggiornato sulle nuove versioni e vorrei questo controllo sulle mie implementazioni.

Qualsiasi comprensione di ciò che potrei fare male è molto apprezzata.

Grazie in anticipo, Dan

+0

Quale versione di .Net stai eseguendo il progetto sotto? Credo che ci sia una limitazione a .net 4.5 per la parola chiave {version}. –

+0

Ciao John, sto davvero usando il framework .Net 4.5, e forse è da lì che provengono alcuni dei problemi. Penso che sia passato abbastanza tempo per farlo funzionare ormai, anche se non l'ho verificato da quando la notazione * funziona e mi permette di andare avanti. – djmarquette

+2

Avete una versione .min.js e .js del file jQuery nella soluzione? Nelle versioni precedenti dell'ottimizzazione Web c'era un'ipotesi sull'uso dei file .min nella modalità di rilascio e sui file senza il .min nel debug anche se il file non esisteva. Questo comportamento è stato modificato nelle versioni successive. Vedi http://aspnetoptimization.codeplex.com/workitem/32. Non sono sicuro se questo è stato il tuo problema in quanto il nome del file che citi è senza. Min nel nome. – pwdst

risposta

0

Prova ad aggiornare Microsoft.AspNet.Web.Optimization e relativi pacchetti NuGet: Microsoft.Web.Infrastructure, WebGrease, Antlr. Controlla non solo la scheda "nuget.org", ma anche "Tutti".