2017-02-08 4 views
0

Wir verwenden Skript- und Stilbündel, um unsere Ressourcen zu minimieren und zu bündeln. Wir verwenden auch den StyleTransformer, um unsere .less-Dateien nach .css zu übertragen.StyleTransformer wird nicht ausgeführt, wenn BundleTable.EnableOptimizations = false;

coreCsss.Transforms.Add(new StyleTransformer()); 
coreCss.Include("~/Content/Common/Styles/core.less"); 

Wir haben auch eine Prozessor-Direktive, die nur Optimierungen beim Erstellen einer Nicht-Debug-Konfiguration ermöglicht.

#if DEBUG 
      BundleTable.EnableOptimizations = false; 
#else 
      BundleTable.EnableOptimizations = true; 
#endif 

Die Absicht der oben genannten ist uns leichter ausgepackt und unminified Javascript debuggen während der Entwicklung zu ermöglichen.

Das Problem, das wir festgestellt haben, ist, dass mit EnableOptimizations deaktiviert, dann unsere .less-Dateien nicht transpiliert werden und stattdessen die rohe .less wird an den Browser geliefert. Gibt es trotzdem eine Möglichkeit, die Minimierung und Bündelung zu deaktivieren, aber dennoch die Transformation zu ermöglichen? Ich denke, das ist ein ziemlich häufiges Szenario.

Antwort

0

Erstens ist der Code, den Sie haben, völlig unnötig. Out of the Box ist EnableOptimizations in der Entwicklung falsch und in der Produktion wahr. Der einzige Grund, warum Sie es möglicherweise auf etwas setzen müssen, ist, ob Sie das Bündeln in der Entwicklung aktivieren wollten (wo es standardmäßig deaktiviert ist). Das heißt, Bündelung ist eine Alles-oder-Nichts-Angelegenheit, wenn StyleTransformer vom Bündelungsprozess abhängt, um funktionieren zu können, dann wenn in der Entwicklung aktiviert werden muss, oder Sie werden genau das bekommen, was Sie haben.

Persönlich würde ich empfehlen, etwas wie die Web Essentials Visual Studio Extension, die unter anderem will auto-compile LESS into CSS on save verwenden. Dann können Sie mit dem LESS arbeiten und einfach auf die CSS-Version verweisen. Ich bin mir sicher, dass es andere Erweiterungen mit ähnlicher Funktionalität gibt. Sie können auch Build-Aufgaben einrichten, um Schluck und so weiter zu starten, aber das ist ein wenig komplexer.

Verwandte Themen