2

これはMVCパターンを壊すことに気づきましたが、現在構築しているアプリケーションでこのようにすることには実行可能な理由があります:)

私がやろうとしているのは、ビューを介したリンクを介してではなく、コントローラーから直接JavaScriptバンドルを出力することです。

たとえば、「〜/ jQueryPlugin」というバンドルがあります。やりたいことは、次のようなものです。

return this.JavaScript(BundleTable.GetBundle("~jQueryPlugin").BundleContent)"

しかし、私の人生でBundleTable.GetBundle("~jQueryPlugin").BundleContentは、結合された最小化されたバンドルの文字列表現を取得するために、パーツがどうあるべきかを理解できません。

どんな助けもいただければ幸いです・

4

1 に答える 1

1

1.1-alpha1リリースでは、これをより簡単に実行できるようにする新しいOptimizerクラスを追加しました。ASP.NETホスティングの外部で使用できるスタンドアロンクラスを対象としているため、セットアップは少し異なります。

バンドルの内容は、次のように取得できます。

        OptimizationSettings config = new OptimizationSettings() {
            ApplicationPath = "<your physical path to the app>",
            BundleSetupMethod = (bundles) => {
                bundles.Add(new ScriptBundle("~/bundles/js").Include("~/scripts/jqueryPlugin.js"));
            }
        };

        BundleResponse response = Optimizer.BuildBundle("~/bundles/js", config);
        Assert.IsNotNull(response);
        Assert.AreEqual("<your bundle js contents>", response.Content);
        Assert.AreEqual(JsMinify.JsContentType, response.ContentType);

次のリリースでは、このシナリオをさらに具体化する必要があります。これは、ビルド時のバンドルとVisualStudioとの統合に必要なためです。

于 2012-11-09T18:53:48.390 に答える