Ich habe die BundleTranslator in meinem MVC 5 Projekt über NuGet (BundleTransformer.SassAndScss v1.9.96 mit dem Kern und LibSassHost Komponenten) aufgebaut. Als nächstes habe ich das Bündel Bezug auf meine View.cshtml hinzugefügtSass SCSS von BundleTranslator
@Styles.Render("~/Content/sass")
und neu definiert die BundleConfig.cs:
var nullOrderer = new NullOrderer();
var commonStylesBundle = new CustomStyleBundle("~/Content/sass");
commonStylesBundle.Include("~/Content/Custom/the-style.scss");
commonStylesBundle.Orderer = nullOrderer;
bundles.Add(commonStylesBundle);
Nach bauen, hat die Website eine .scss Referenz:
<link href="/Content/Custom/the-style.scss" rel="stylesheet">
und alles funktioniert lokal wahrscheinlich nur, weil ich SassAndCoffee packag installiert habe e mit SassyStudio. Das Problem tritt auf, wenn ich auf einem externen IIS-Server bereitstellen. Die Datei existiert im Verzeichnis "Content/Custom", aber die Website ist beschädigt. Der HTML-Code auch die Dateireferenz hat (es verbindet Datei .scss, nicht .css- kompiliert), aber wenn ich versuche, es zu navigieren, erhalte ich Fehler 500.
ich die Sass Datei Build Action geändert haben zu Inhalt (von keine) und links Kopieren in Ausgabeverzeichnis als Kopieren Sie nicht. Ich habe auch httpHandlers zu Web.config hinzugefügt (aber ich weiß eigentlich whichfor), aber immer noch nichts hilft.
<httpHandlers>
<add path="*.sass" verb="GET" type="BundleTransformer.SassAndScss.HttpHandlers.SassAndScssAssetHandler, BundleTransformer.SassAndScss" />
<add path="*.scss" verb="GET" type="BundleTransformer.SassAndScss.HttpHandlers.SassAndScssAssetHandler, BundleTransformer.SassAndScss" />
</httpHandlers>
Ich habe nicht alle Einstellungen in Web.config überprüfen wegen der NuGet Installation, die (wie ich sehe), diese Art von Daten für die BundleTransformer zur Verfügung stellt.
Wie konfiguriere ich die BundleTransformer auf IIS korrekt zu arbeiten? Muss ich den BundleResolver als in example code überschreiben?
BundleResolver.Current = new CustomBundleResolver();
Es scheint, dass es der Fehler von Schritt 1 war. Ohne 'BundleTable.EnableOptimizations = true;' es funktioniert einfach nicht. Danke für Ihre Hilfe! :) Ich habe auch etwas Ähnliches entdeckt [Delegate Sass Builder] (https://www.nuget.org/packages/Delegate.SassBuilder), das keine externen Abhängigkeiten/Referenzen benötigt und .ass/scp für .css mit jedem kompiliert Build, aber die CSS-Dateien werden nicht zur Projektstruktur hinzugefügt, daher sind sie nach der Bereitstellung nicht vorhanden (falls verbessert, würde ich diesen Builder dem Bundler vorziehen). Auch wenn EnableOptimizations auf "true" gesetzt wurde, musste jede CSS-Datei im Bundle enthalten sein – mikes