2016-03-30 57 views
1

我已經通過的NuGet(BundleTransformer.SassAndScss v1.9.96與Core和LibSassHost組件)成立BundleTranslatorMVC 5項目。接下來,我添加了捆綁參考我View.cshtml薩斯SCSS由BundleTranslator

@Styles.Render("~/Content/sass") 

,並重新定義了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); 

構建之後,該網站有一個.scss參考:

<link href="/Content/Custom/the-style.scss" rel="stylesheet"> 

和一切工作本地可能只是因爲我已經安裝SassAndCoffee packag e與SassyStudio。當我在外部IIS服務器上部署時出現問題。該文件存在於Content/Custom目錄中,但該網站已損壞。該HTML代碼也有文件引用(它鏈接到.scss文件,不編譯.css),但如果我嘗試導航到它,我得到錯誤500.

我已更改Sass文件生成操作內容(從)和左複製到輸出目錄請勿複製。我也爲Web.config添加了httpHandlers(但我實際上不知道它是什麼),但仍然沒有任何幫助。

<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> 

我沒有檢查所有的設置在Web.config文件因爲在安裝的NuGet它(我看到的)提供這種用於BundleTransformer數據。

如何配置BundleTransformer上正常工作IIS?我必須重寫BundleResolverin example code

BundleResolver.Current = new CustomBundleResolver(); 

回答

2

有幾件事要嘗試診斷問題。首先它在本地工作! :)

1.
值得測試的是,您的捆綁工作正常。您可以通過暫時設置以下內容來完成此操作(完成後請取出)。

public class BundleConfig 
{ 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     BundleTable.EnableOptimizations = true; 

     // Bundles and stuff... 
    } 
} 

運行的網站,然後在瀏覽器開發工具,你應該得到的東西是這樣的:

/包/ commonStyles V = BzJZwKfP1XV8a6CotGRsHhbxraPDst9zDL2X4r36Y301

如果這工作那麼我們就可以?快樂捆綁將生產。

2。
權限。如果您收到500內部服務器錯誤,請檢查包含scss文件的文件夾的權限。還檢查他們在那裏:)

3.
Mime類型。 IIS需要添加一個MIME類型爲.scss,但我不相信它會。

+0

看來這是第1步的錯誤。沒有'BundleTable.EnableOptimizations = true;'它只是不起作用。感謝您的幫助! :)我也發現了這樣的[Delegate Sass Builder](https://www.nuget.org/packages/Delegate.SassBuilder),它不需要外部依賴/引用,並且可以將.sass/.scss編譯爲.css。 build,但CSS文件沒有被添加到項目樹中,所以它們在部署後不存在(如果改進,我更喜歡這個構建器通過捆綁器)。另外,當EnableOptimizations設置爲true時,每個CSS文件都必須包括在內 – mikes