Microsoft.AspNet.Web.Optimization
ASP.NET MVC 3 プロジェクトを MVC 4 / .NET 4.0 に移行し、 CSS と JavaScript のバンドルと縮小をサポートするためにNuGet パッケージをインストールしました。バンドル/ミニフィケーションはほとんど機能していますが、問題は常に有効になっていることです。Web.config で構成されているように、アプリがデバッグ モードであっても、すべての JavaScript インクルードが縮小されます。以下の XML スニペットからわかるように、Web.config でデバッグ モードが有効になっています。
<system.web>
<compilation debug="true" targetFramework="4.0">
...
</compilation>
...
</system.web>
私のバンドル構成の抜粋:
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
...
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.*",
"~/Scripts/jquery.form.js",
"~/Scripts/jquery.format.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/Site.css"));
...
}
}
CSS/JavaScript インクルードは、HTML で次のようにレンダリングされます。
<link href="/content/css" rel="stylesheet" type="text/css">
<script src="/bundles/jquery" type="text/javascript"></script>
私の場合、縮小化が有効になる理由について何か手がかりはありますか? ここで何が欠けているのか途方に暮れています。トラブルシューティングを行うために、テスト用の ASP.NET MVC 4 インターネット アプリケーションを作成し、このプロジェクトのデバッグ モードでCSS/JavaScript が縮小されていないことを確認できました。
編集:
私の _Layout.cshtml ファイルでは、スタイル/スクリプトを次のようにレンダリングします。
@Styles.Render("content/css")
@Scripts.Render("bundles/jquery")
Hao のおかげで、バンドル名の先頭に「~/」を付けるのを忘れていたことに気付きました。