我意识到这打破了MVC模式,但是在我正在构建的应用程序中以这种方式这样做是有可行的原因:)
我要做的是直接从Controller输出JavaScript包,而不是通过View链接。
所以例如我有一个名为“〜/ jQueryPlugin”的包,我想做的就是
return this.JavaScript(BundleTable.GetBundle("~jQueryPlugin").BundleContent)"
然而,对于我的生活,我无法弄清楚BundleTable.GetBundle("~jQueryPlugin").BundleContent
部分应该是什么,以获得组合最小化束的字符串表示。
任何帮助将不胜感激·
答案 0 :(得分: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);
下一个版本应该更多地充实这个场景,因为构建时绑定与Visual Studio的集成需要它。