NuGet (BundleTransformer.SassAndScss v1.9.96 と Core および LibSassHost コンポーネント) を使用して、MVC 5プロジェクトにBundleTranslatorをセットアップしました。次に、バンドル参照を View.cshtml に追加しました
@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);
ビルド後、Web サイトには .scss 参照があります。
<link href="/Content/Custom/the-style.scss" rel="stylesheet">
SassAndCoffeeパッケージとSassyStudioをインストールしたため、おそらくすべてがローカルで機能しています。外部 IIS サーバーにデプロイすると、問題が発生します。ファイルは Content/Custom ディレクトリに存在しますが、Web サイトが壊れています。HTML コードにはファイル参照もあります (コンパイル済みの .css ではなく、.scss ファイルにリンクしています) が、そこに移動しようとすると、エラー 500 が発生します。
Sass ファイルのBuild Actionを( Noneから) Contentに変更し、 Copy to Output DirectoryをDo not copyのままにしました。また、httpHandlers を Web.config に追加しました (ただし、実際には何が原因かわかりません) が、それでも何も役に立ちません。
<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>
BundleTransformerにこの種のデータを提供するNuGetインストールのため、 Web.configのすべての設定を確認しませんでした。
BundleTransformerがIISで正しく動作するように構成するにはどうすればよいですか? サンプル コードのようにBundleResolverをオーバーライドする必要がありますか?
BundleResolver.Current = new CustomBundleResolver();