1

MVC 3 アプリにバンドルを追加しました。Microsoft.Web.Optiminization.1.1.3 の nugetpackage をダウンロードしました これを Globals.asax に追加しました

public static void RegisterBundles(BundleCollection bundles)
    {

        BundleTable.EnableOptimizations = true;
        //CSS  
        var styles = new StyleBundle("~/Bundling/bundledcss").Include(
                                                                         "~/Content/site.css",
                                                                         "~/Content/ASPNetSpellInclude/themes/bright/*.css",
                                                                         "~/Content/ASPNetSpellInclude/themes/buttons/*.css",
                                                                         "~/Content/ASPNetSpellInclude/themes/classic/*.css",
                                                                         "~/Assets/CSS/*.css",
                                                                         "~/Assets/CSS/blue/*.css",
                                                                         "~/Assets/CSS/cupertino/*.css",
                                                                         "~/Assets/JQGrid/css/cupertino/*.css"
                                                                     );
        INetLog log = ObjectFactory.GetInstance<INetLog>();
        log.Debug("done mini and budle css");
        //JS  
        var js = new ScriptBundle("~/Bundling/bundledjs").Include(
                                                                    "~/Scripts/*.js",
                                                                    "~/Content/*.js",
                                                                    "~/Content/ASPNetSpellInclude/*.js",
                                                                    "~/Content/ASPNetSpellInclude/core/*.js",
                                                                    "~/Content/ASPNetSpellInclude/debugging-test-scripts/*.js",
                                                                    "~/Content/ASPNetSpellInclude/translations/*.js",
                                                                    "~/Content/ASPNetSpellInclude/*.js",
                                                                    "~/Assets/JavaScript/*.js",
                                                                    "~/Assets/JavaScript/i18n/*.js",
                                                                    "~/Assets/JQGrid/js/*.js",
                                                                    "~/Assets/JQGrid/js/i18n/*.js"
                                                                 );

        log.Debug("done minify and bundle script");
        bundles.Add(styles);
        bundles.Add(js);
        BundleTable.EnableOptimizations = true;
        log.Debug("done generating bundles");
    }

Application_Start から呼び出されるもの

protected void Application_Start
{
     <snip>                
     RegisterBundles(BundleTable.Bundles);
}

私のルートレイアウトページにはこれらがあります

        <link rel="stylesheet" type="text/css" href="@Styles.Url("~/Assets/CSS/Jcdc.css")" />
<script type="text/javascript" src="@Scripts.Url( "~/Assets/JavaScript/jquery-1.4.2.min.js")"></script>

私のweb.configにはdebug = falseがあります

<compilation debug="false" targetFramework="4.0">

しかし、ページでソースを実行して表示すると...まだこれが表示されます。

<link rel="stylesheet" type="text/css" href="/CIS3G/Assets/CSS/Jcdc.css" />
  ...
 <script type="text/javascript" src="/CIS3G/Assets/JavaScript/jquery-1.4.2.min.js"></script> 

つまり、縮小化とバンドル化が機能していないということですよね?

この記事

http://www.dotnet-tricks.com/Tutorial/mvc/c72b040113-Asp.net-MVC-4-performance-optimization-with-bundling-and-minification.html

私が期待すべきことを示しています

ここに画像の説明を入力

したがって、明らかに機能していません...

私が見逃したものを見た人はいますか?

4

2 に答える 2

2

ルート レイアウトのコードが間違っているようです。あなたはまだjsとcssへの参照を直接追加しています。

これらの 2 行をルート レイアウト ファイルの head タグに追加する必要があります。

<head>
    @Scripts.Render("~/Bundling/bundledjs")
    @Styles.Render("~/Bundling/bundledcss")
</head>
于 2015-03-25T18:47:45.853 に答える
1

最適化を有効にしましたか。参照: https://msdn.microsoft.com/en-us/library/system.web.optimization.scripts.render(v=vs.110).aspx

バンドルと縮小を有効にするには、デバッグ値を「false」に設定します。BundleTable クラスの EnableOptimizations プロパティを使用して、Web.config 設定をオーバーライドできます。次のコードは、バンドルと縮小を有効にし、Web.config ファイルの設定をオーバーライドします。

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
             "~/Scripts/jquery-{version}.js"));

    // Code removed for clarity.
    BundleTable.EnableOptimizations = true;
}

注:が true であるか、Web.config ファイルのコンパイル要素の debug 属性が false に設定されていない限りEnableOptimizations、ファイルはバンドルまたは縮小されません。さらに、ファイルの .min バージョンは使用されず、完全なデバッグ バージョンが選択されます。 EnableOptimizations Web.config ファイルのコンパイル要素の debug 属性をオーバーライドします。

于 2015-03-25T18:34:22.487 に答える