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