我喜欢ASP.NET MVC 4.5中的Bundling and Minification并且经常使用它。
然而,一个小问题是我们的“插件”托管在一个无Cookie的域上,该域位于我的Visual Studio解决方案的单独项目中。
我正在寻找一个解决方案,它允许我们的主站点请求包含来自cookieless站点的任意数量插件的捆绑和缩小的JS文件。类似的东西:
http://my.cookieless.domain/plugins.js?include=alpha&include=bravo,charlie
到目前为止,我能找到的最佳解决方案是使用第三方捆绑和缩小库,考虑到ASP.NET内置了一个库,这似乎有些过分。
是否可以从内部控制器操作中手动调用ASP.NET捆绑/缩小过程?
public JavaScriptResult Index(IList<string> include)
{
//bundle and minify JS
}
答案 0 :(得分:5)
我在寻找类似的东西时遇到了这个,这是解决方案:
public ActionResult DynamicJs()
{
// Obviously this will be dynamically generated
string javaScript = new Minifier().MinifyJavaScript("alert('Hello world!');");
//returns minified javaScript
return JavaScript(javaScript);
}
CSS也是如此。您可能想要使用:
new Minifier().MinifyStyleSheet(styleSheet, new CssSettings { ColorNames = CssColor.Hex }
Minifier类是 Microsoft.Ajax.Utilities 的成员,您可以从WebGrease Nuget包中获取该文件。