我意识到这打破了MVC模式,但是有一个可行的理由在我当前正在构建的应用程序中这样做:)
我要做的是直接从控制器而不是通过链接通过视图输出JavaScript束。
所以例如,我有一个叫"〜/jqueryplugin"的捆绑包,我想做的是
的行 return this.JavaScript(BundleTable.GetBundle("~jQueryPlugin").BundleContent)"
但是,在我的寿命中,我无法弄清楚BundleTable.GetBundle("~jQueryPlugin").BundleContent
部分应该是什么,以获取组合最小化捆绑包的字符串表示。
任何帮助都将不胜感激·
在1.1-Alpha1版本中,我们添加了一个新的优化器类,该类应该使您更轻松地执行此操作。它的目的是在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);
下一个版本应该更多地消除此情况,因为与Visual Studio建立时间捆绑在一起需要。