ASP.NET Bundles deaktivieren Verkleinerung
Habe ich debug="true"
sowohl in meinem web.config(s)und ich will einfach nicht meine Bündel minified, aber nichts, was ich tun scheint, um es zu deaktivieren. Ich habe versucht enableoptimisations=false
hier ist mein code:
//Javascript
bundles.Add(new ScriptBundle("~/bundles/MainJS")
.Include("~/Scripts/regular/lib/mvc/jquery.validate.unobtrusive.js*")
.Include("~/Scripts/regular/lib/mvc/jquery.validate*")
.Include("~/Scripts/regular/lib/bootstrap.js")
.IncludeDirectory("~/Scripts/regular/modules", "*.js", true)
.IncludeDirectory("~/Scripts/regular/pages", "*.js", true)
.IncludeDirectory("~/Scripts/regular/misc", "*.js", true));
//CSS
bundles.Add(new StyleBundle("~/bundles/MainCSS")
.Include("~/Content/css/regular/lib/bootstrap.css*")
.IncludeDirectory("~/Content/css/regular/modules", "*.css", true)
.IncludeDirectory("~/Content/css/regular/pages", "*.css", true))
InformationsquelleAutor der Frage Baconbeastnz | 2012-08-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie
debug="true"
im web.config und sind mitScripts/Styles.Render
verweisen auf das Bündel in Ihren Seiten, dass sollte schalten Sie beide Bündelung und Verkleinerung.BundleTable.EnableOptimizations = false
wird, schalten Sie immer beide Bündelung und Verkleinerung sowie (unabhängig von der debug-true/false-flag).Sind Sie vielleicht nicht mit der
Scripts/Styles.Render
Helfer? Wenn Sie direkt rendering Verweise auf das bundle überBundleTable.Bundles.ResolveBundleUrl()
erhalten Sie immer die minified/gebündelte Inhalte.InformationsquelleAutor der Antwort Hao Kung
Direktiven für bedingte Kompilierung sind dein Freund:
InformationsquelleAutor der Antwort Martin Devillers
Deaktivieren Bündelung und Verkleinerung nur diese Ihre .aspx Datei
(dies deaktiviert die Optimierung, auch wenn
debug=true
im web.config)vb.net:
c#.net
Wenn Sie
EnableOptimizations = true
diesem bundle erhalten und verkleinern, auch wenndebug=true
im web.configInformationsquelleAutor der Antwort manuel
Können Sie deaktivieren die minifizierung in Ihre bundles einfach durch das löschen deines verwandelt.
Ich persönlich fand dies nützlich, wenn Sie wollen, zu bündeln, alle meine Schriften in einer einzigen Datei, sondern benötigt Lesbarkeit beim Debuggen Phasen.
InformationsquelleAutor der Antwort muglio
Habe ich versucht, eine Menge von diesen Anregungen aber erwähnenswert schien zu funktionieren. Ich habe verschwendet durchaus ein paar Stunden nur zu fand heraus, dass dies war mein Fehler:
Immer haben mich minified und gebündelt, javascript, egal, was ich versucht habe. Stattdessen sollte ich benutzt habe:
Die extra '~' Tat es. Ich habe sogar entfernt es wieder in nur eine Instanz zu sehen, ob das war es wirklich. Es war... hoffentlich kann ich speichern Sie mindestens eine person, die Stunden, die ich verschwendet.
InformationsquelleAutor der Antwort Nick
Kombinieren Sie mehrere Antworten, dies funktioniert bei mir in ASP.NET MVC 4.
InformationsquelleAutor der Antwort Jeff Tian
Gibt es auch einige einfache Weise zu kontrollieren, Verkleinerung (und andere Eigenschaften) manuell. Es ist neue CssMinify() Transformator verwenden, wie diese:
Das ist praktisch, wenn Sie wollen, um einige bundles speziellen Teil nur minified. Lassen Sie uns sagen, Sie sind mit einigen standard - (jQuery -) Stile, die immer unter deinen Füßen (unter vielen übermäßigen browser-Anfragen zu Ihnen), aber Sie wollen zu halten unminified Ihr eigenes stylesheet. (Das gleiche - mit javascript).
InformationsquelleAutor der Antwort Agat
Kombinierte ich ein paar Antworten von anderen in dieser Frage zu kommen mit eine alternative Lösung.
Ziel: immer bündeln Sie die Dateien, deaktivieren Sie die JS-und CSS-Verkleinerung in dem Fall, dass
<compilation debug="true" ... />
und Sie immer eine benutzerdefinierte transformation, um die CSS-bundle.Meine Lösung:
1) In web.config:
<compilation debug="true" ... />
2) In der Global.asax Application_Start() Methode:
InformationsquelleAutor der Antwort Vince Horst
Wenn Sie die folgende Eigenschaft auf false, dann wird es deaktivieren Sie die Bündelung und Verkleinerung.
In Global.asax.cs
InformationsquelleAutor der Antwort marvelTracker
Nur zur Ergänzung der bereits gegebenen Antworten, wenn Sie wollen auch NICHT verkleinern/verschleiern/verketten EINIGE Dateien, während immer noch eine vollständige Bündelung und Verkleinerung für andere Dateien die beste option zu gehen mit einer custom-renderer, die liest den Inhalt einer bestimmten Bündel(s) und render-Dateien in der Seite, anstatt render-bundle-virtuellen Pfad. Ich persönlich benötigte diese, weil IE 9 $*%@ing das Bett, wenn mein CSS-Dateien wurden gebündelt sogar mit Verkleinerung ausgeschaltet.
Vielen Dank an dieser Artikeldas gab mir den Ausgangspunkt für die code, die ich verwendet, um zu erstellen Sie eine CSS-Renderer zu machen, müsste die files für den CSS, aber immer noch erlauben, das system zum Rendern von meiner javascript-Dateien gebündelt/minified/obfuscated.
Erstellt die statischen helper-Klasse:
Dann in der razor-layout-Datei:
anstelle der standard:
Ich bin sicher, dass die Schaffung eines optionalen renderer für javascript-Dateien brauchen wenig, das update auf die Helfer als auch.
InformationsquelleAutor der Antwort James Eby
Hier ist, wie zu deaktivieren Verkleinerung auf eine pro-bundle basis:
Sidenote: Die Pfade, die Sie für Ihre bundles müssen nicht zeitgleich mit einer tatsächlichen Pfad in der veröffentlichten baut sonst nichts. Auch stellen Sie sicher, zu vermeiden .js, .css und/oder '.' und '_' irgendwo im Namen des Bundles an. Halten Sie die Namen so einfach und unkompliziert wie möglich, wie im Beispiel oben.
Den helper-Klassen sind unten dargestellt. Beachten Sie, dass, um diese Klassen zukunftssichere wir chirurgisch entfernen Sie die js/css minifying-Instanzen statt .clear () - und auch wir legen eine mime-type-setter-transformation, ohne die Produktion baut gebunden sind, in Schwierigkeiten geraten, besonders, wenn es richtig übergabe css-bundles (firefox und chrome ablehnen css-bundles mit dem mime-Typ "text/html" ist der default):
Machen diese ganze Arbeit, die Sie installieren müssen (über nuget):
WebGrease 1.6.0+
Microsoft.AspNet.Web.Optimierung 1.1.3+
Und Ihr web.config sollte angereichert werden, etwa so:
Beachten Sie, dass müssen Sie möglicherweise zusätzliche Maßnahmen ergreifen, um Ihren css-bundles Arbeit in Bezug auf die Schriftarten usw. Aber das ist eine andere Geschichte.
InformationsquelleAutor der Antwort XDS
Wenn Sie mit LESS/SASS-CSS-transformation gibt es eine option
useNativeMinification
kann auf false gesetzt werden zum deaktivieren der Verkleinerung (in web.config). Für meine Zwecke, ich ändere es einfach hier, wenn ich muss, aber man könnte web.config-Transformationen immer zu aktivieren es auf der release-build oder vielleicht einen Weg finden, ändern Sie es in code.Tipp: Das ganze Punkt von diesem ist, um Ihre CSS, die Sie tun können, im browser kontrollieren Sie Werkzeuge oder durch das öffnen der Datei. Bei Bündelung wird aktiviert, die mit dem Namen änderungen auf jeder kompilieren, also habe ich den folgenden, an der Spitze meiner Seite, so kann ich meine kompilierte CSS eaily in einem neuen browser-Fenster jedes mal, wenn es änderungen.
dies wird eine dynamische URL so etwas wie
https://example.com/Content/css/bundlename?v=UGd0FjvFJz3ETxlNN9NVqNOeYMRrOkQAkYtB04KisCQ1
Update: ich erstellte eine web.config transformation, es gilt für mich während der deployment /release build
InformationsquelleAutor der Antwort Simon_Weaver
Dies kann nützlich sein, um jemand in der Zukunft als der neue Rahmen, wenn die Installation durch VS, bekommt eine Standard -
web.config
web.Debug.config
undweb.Release.config
. In derweb.release.config
finden Sie diese Zeile:dieser war scheinbar außer Kraft, inline-änderungen, die ich gemacht habe. Ich kommentiert diese Zeile aus, und wir waren gravy (in Bezug auf zu sehen, nicht-minified code in einen "release" - build)
InformationsquelleAutor der Antwort Mutmatt
Suche nach
EnableOptimizations
Schlüsselwort in Ihrem ProjektSo, wenn Sie finden
schalten Sie es
false
.InformationsquelleAutor der Antwort BJ Patel