2014-06-13 10 views
15

Ich möchte nicht alle Dateien minimieren, die ich in meiner ASP .NET MVC 4-Lösung verwende. So zum Beispiel, ich habe dies in meinem BundleConfig.cs:Vergrößern Sie nicht bestimmte Dateien in ASP .NET MVC 4 BundleConfig

bundles.Add(new StyleBundle("~/CSS/bootstrap").Include(
    "~/Content/Bootstrap/body.css", 
    "~/Content/Bootstrap/bootstrap-responsive.css", 
    "~/Content/Bootstrap/bootstrap-mvc-validation.css", 
    "~/Content/Bootstrap/bootstrap-theme.css", 
    "~/Content/Bootstrap/bootstrap.css" 
    )); 

... 

Und es minify, natürlich ich benutze:

BundleTable.EnableOptimizations = true; 

So funktioniert es super.

Aber jetzt, wie könnte ich alle meine Dateien außer einem Bündel minimieren? Ich habe ein Problem mit einem Paket, das einige CSS-Klassen entfernt und diesen nicht minimieren möchte.

Jede Hilfe würde sehr geschätzt werden.

+0

Wenn Sie die Datei 'xxxxx.min.css' umbenennen, versuchen Sie es trotzdem zu minimieren? – mxmissile

+0

Vielen Dank für Ihre Antwort, aber ich möchte dies nicht tun, wenn ich Bootstrap aktualisiere, möchte ich Dateien nicht verschieben und umbenennen müssen. –

Antwort

3

Ich weiß nicht, wo das Problem herkommt, aber ich versuchte zu:

  • Nur Bündel, nicht minify. Es funktioniert nicht.

    bundles.Add(new Bundle("~/CSS/bootstrap").Include(
        "~/Content/Bootstrap/body.css", 
        "~/Content/Bootstrap/bootstrap-responsive.css", 
        "~/Content/Bootstrap/bootstrap-mvc-validation.css", 
        "~/Content/Bootstrap/bootstrap-theme.css", 
        "~/Content/Bootstrap/bootstrap.css" 
        )); 
    
  • außer Kraft setzen UI Fehler. Es funktioniert, aber es ist nur ein temporärer Patch.

Schließlich entschied ich Standard CSS Anrufe zu verwenden (und setzen einige Kommentare in den Code zu erklären, warum):

<link rel="stylesheet" href="/Content/Bootstrap/body.css"> 
<link rel="stylesheet" href="/Content/Bootstrap/bootstrap-responsive.css"> 
<link rel="stylesheet" href="/Content/Bootstrap/bootstrap-mvc-validation.css"> 
<link rel="stylesheet" href="/Content/Bootstrap/bootstrap-theme.css"> 
<link rel="stylesheet" href="/Content/Bootstrap/bootstrap.css"> 

Wenn Sie eine bessere Idee haben, lassen Sie es uns wissen! :)

5

Ich hatte ein ähnliches Problem. Die Lösung besteht darin, die Minimierung in der Ansicht zu deaktivieren und zu aktivieren. zum Beispiel

@{ 
    BundleTable.EnableOptimizations = false; 
} 

@Styles.Render("~/layout") 
@RenderSection("CSS", false) 

@{ 
    BundleTable.EnableOptimizations = true; 
} 
+3

Gewindesicherheit = 0. d. H. Seite 1 rendert ein anderes Bündel Eine Seite Zwei ist ein Rendering-Layout. Ergebnis ist Seite 1 wird auch ein unminitierter Bundle bekommen. – John

14

Verwenden Transforms.Clear() minification zu überspringen, sondern halten die Dateien gebündelt

//declare bundle 
var bundle = new ScriptBundle("~/javascripts/ckEditor") 
       .Include("~/Scripts/ckeditor/ckeditor.js") 
       .Include("~/Scripts/ckeditor/config.js"); 

//skip transformation. Result is that files are only bundled, but not minified. 
bundle.Transforms.Clear(); 

bundles.Add(bundle); 

Sie müssen auch die .min.js Dateien aus dem Verzeichnis beseitigen die Substitution zu verhindern