我爱Bundling and Minification在 ASP.NET MVC 4.5 中并经常使用它。
但是,一个小问题是我们的“插件”托管在无 cookie 域上,该域位于我的 Visual Studio 解决方案中的一个单独项目中。
我正在寻找一种解决方案,允许我们的主站点从无 cookie 站点请求一个包含任意数量插件的捆绑和缩小的 JS 文件。像这样的东西:
http://my.cookieless.domain/plugins.js?include=alpha&include=bravo,charlie
到目前为止,我能找到的最佳解决方案是使用第 3 方捆绑和缩小库,考虑到 ASP.NET 内置了一个,这似乎有点过分了。
是否可以从 Controller 操作中手动调用 ASP.NET 捆绑/缩小过程?
public JavaScriptResult Index(IList<string> include)
{
//bundle and minify JS
}
最佳答案
我在寻找类似的东西时遇到了这个问题,这是解决方案:
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 包中获取它。
关于c# - 从 Controller 操作中手动捆绑和缩小 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19275163/