6

我喜欢ASP.NET MVC 4.5 中的捆绑和缩小,并且经常使用它。

但是,一个小问题是我们的“插件”托管在无 cookie 域上,该域位于我的 Visual Studio 解决方案中的一个单独项目中。

我正在寻找一种解决方案,它允许我们的主站点从无 cookie 站点请求包含任意数量的插件的捆绑和缩小 JS 文件。就像是:

http://my.cookieless.domain/plugins.js?include=alpha&include=bravo,charlie

到目前为止,我能找到的最佳解决方案是使用第 3 方捆绑和缩小库,考虑到 ASP.NET 内置了一个库,这似乎有点过头了。

是否可以从控制器内部操作手动调用 ASP.NET 捆绑/缩小过程?

public JavaScriptResult Index(IList<string> include)
{
    //bundle and minify JS
}
4

1 回答 1

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 包中获得它。

于 2016-03-07T18:41:09.723 回答