I love Bundling and Minification in ASP.NET MVC 4.5 and use it a lot.
However, one small problem is that our "plugins" are hosted on a cookieless domain, which is in a separate project in my Visual Studio solution.
I'm looking for a solution that'll allow our main site to request a bundled and minified JS file containing any number of our plugins from the cookieless site. Something like:
http://my.cookieless.domain/plugins.js?include=alpha&include=bravo,charlie
So far, the best solution I can find is to use a 3rd party bundling and minification library, which seems like overkill considering ASP.NET has one built in.
Is it possible to manually call ASP.NETs bundling/minification process from a within controller action?
public JavaScriptResult Index(IList<string> include)
{
//bundle and minify JS
}
I came across this in search of something similar, here is the solution:
public ActionResult DynamicJs()
{
// Obviously this will be dynamically generated
string javaScript = new Minifier().MinifyJavaScript("alert('Hello world!');");
//returns minified javaScript
return JavaScript(javaScript);
}
Same goes for CSS. You might want to use:
new Minifier().MinifyStyleSheet(styleSheet, new CssSettings { ColorNames = CssColor.Hex }
The Minifier class is a member of Microsoft.Ajax.Utilities, which you can get from the WebGrease Nuget package.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With